jit.gen / jit.gl.gridshape / jit.gl.plato を使った3Dオブジェクトのモーフィング : #jitter #maxmsp

パッチ

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

jit.gl.gridshape と plato を matrixoutput で出力して、掛け算して、jit.gl.meshで描画しています。jit.genは動きの変化を繋げるためローパスフィルターとして利用しています。

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

jit.gl.multiple と jit.gen を使って、 jit.gl オブジェクトを複数個描画 #maxmsp #jitter #gen

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

jitterを使う上で避けては通れない、matrixとjit.gl.multiple(と、たぶん jit.meshも)を、そろそろ本腰入れて使って見ようと思いテストしてみました。jit.gl.videoplaneの動画をjit.genによるjit.matrixとjit.gl.multipleで大量に描画しています。

パッチ

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

multiple の @targetname で複数個描画したいオブジェクト(今回は、jit.gl.videoplane)を名前で指定する必要があります。また、描画するオブジェクトのアトリビュートで @automatic 0 にしておかないと、コイツが別途描画されてしまいます。

jit.gen code

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

メモ – jitterのパーティクルについて

jitterでパーティクル処理をするためには、個々のオブジェクトの状態をmatrixで保存するようですね。jit.genを使えばパーティクルを軽量かつ大量に描けるようです。ただjit.gen自体は、jit.gl.pixと違ってGPU処理では無く、CPU処理のコードにコンパイルされるので、jit.shivaなどのデフォルトのパーティクルオブジェクトと比較して、パフォーマンスがどうなのかは今度検証してみたいです。

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 系のレンダリング結果をSyphonへ送るサンプル : #jitter #max6 #maxmsp

スクリーンショット 2014-05-30 19.23.39

jit.gl.render の最終出力をSyphonに送る場合に、jit.gl.node へ描画して @capture 1 をする方法でやっていましたが激重だったので、改善方法が無いかとCycling74のフォーラムを徘徊していたら、jit.gl.textureを使う方法を見つけました。

解説

  1. jit.gl.texture を作成 @name で syphontex などと名付けておく
  2. 3Dオブジェクト等をjit.gl.render にてレンダリング
  3. to_texture “テクスチャ名” メッセージをjit.gl.render へ送り、jit.gl.textureに最終画像をレンダリング
  4. jit.gl.texture に bang を送り jit_gl_texture メッセージを第1インレットから出力
  5. jit.gl.syphonserver へ テクスチャを送る

注意点

2のステップは、飛ばせなかったです。Syphonに最終レンダリングを送りたいだけでも、必ずサンプルにもある jit.window のようなレンダリング先を用意しておく必要があります。

MadMapper へ

スクリーンショット 2014-05-30 19.21.04

jit.gl.render のレンダリング結果を MadMapper で 表示できました!