jit.gl.pix を jit.gl.lua 内で利用する

スクリーンショット 2014-06-06 16.27.18

[javascript]

autowatch = 1
gc = 1

local mov = jit.new("jit.qt.movie",this.drawto)
mov.adapt = 1;
mov:read("bball.mov");

local frame = jit.matrix();
local plane = jit.new("jit.gl.videoplane",this.drawto);
local pix = jit.new("jit.gl.pix",this.drawto)
pix.gen = "aer.line.genjit"; — readでは無く、genでファイルを読み込みます。
 

function draw()

mov:matrixcalc(frame.name,frame.name)

pix:jit_matrix({frame.name})
pix:draw()

plane:jit_gl_texture(pix.out_name)
plane:draw();

end

[/javascript]

ピクセルシェーダ jit.gl.pix による光るリングの描画 : #jitter #maxmsp

スクリーンショット 2014-05-20 19.25.52 jit.gl.pix を使ったシェーダーによる画像描画や処理を少しづつ学んで行こうと思います。今回は以下の参考サイトにあったコードを参考に光る輪っかを描画してみました。

コード

スクリーンショット 2014-05-20 19.26.28

  • snormで -1 ~ 1 に正規化した座標を取得
  • length によって原点からの距離に変換
  • !- 0.5 とabs により半径0.5の円周上の最も近い点から座標との距離に変換
  • !/ 0.02 により、座標における光の量を決定(半径0.5の円に近い点ほど、数値が高くなるため光が強くなる)
  • out 1 に光の強さを送る。自動的に vec 4 (R G B A)に変換されている

参考サイト

wgld.org – 時間経過とマウスカーソル座標