フレームレートめも(1)
VJ用の統合パッチ組んでたんだけど、なんか40-50fpsで安定しなくて10秒ごとに35fpsまで落ちる始末だった。
別にレート的に悪いとはいわないけどあまりに変動しまくると映像のニュアンスが変わってくるので頭を抱えてた。
どうやら、入力音量の平均値をだすのにつかってた[mean]オブジェクトあたりが重かったみたい。このオブジェクトに常に[peakamp~]から数値を送りまくるんじゃなくて、[speedlim]とかである程度間引くとうまくいった。1440×900で安定55fpsくらいはでるようになった。
当たり前だけど、こういうふうに細かく処理を切ってくのは大事なんだなー、、とか。
3D物体の「上」に2次元ムービーの配置
先月の記事に嘘書いてた。
gl.renderのカメラ位置に左右されずに二次元ムービーを前面表示するには普通に[jit.gl.videoplane @transform_reset 2]にして描画を他のオブジェクトよりあとにする。あとはblend_modeで調整。これだけだった。http://cycling74.com/forums/topic.php?id=10083
フォーラムは力
2011/8/29追記:ついでにlayerとかdepth_enableをいじると良いですね
入力音量のピーク値管理めも
あいかわらずごく初歩的なことにさっき気づいたんだけど、jitterで音量ピーク値等を扱うときのおもいつき。
マイク[adc~]から取得する音を[peakamp~]とかで数値化する際、現場のクラブと家では入力音量の絶対値がちがったりするため勝手がわからなくなる。その部分でパッチのニュアンスが変わってしまうこともあると思う。[peakamp~]から[*]オブジェクトにつないで量をコントロールする方法もあるけれど、いろいろと毎回[*]に第2インレットで乗算する数値をいじることになったりして面倒くさい。
そこで、数値を相対的に扱う方法のひとつとして、[peakamp~]から[peak]オブジェクトにつないで過去の最大音量を取得し、それを[scale]オブジェクトの第三インレットにつないで、入力値を特定の範囲にスケーリングしてしまうのが今のところ正解だと思った。
これでもたまに[peak]オブジェクトにリセット値を送らなければいけないときはあるかもしれないけど。なにか頭のいい方法があれば情報待ってます。
OpenGLでの物体の回転の基点
AfterEffectsでいうアンカーポイントみたいなのをjitterで3D物体に与えるには?という話題。
普通、jit.gl.gridshapeなんかをぐりぐりしても真ん中で回転しちゃう。このもっと中心軸をずらしたい。
で、情報探してたら、Max/Mspのフォーラムに情報あげてる方が居た。→ http://cycling74.com/forums/topic.php?id=25507
円柱の端っこに回転ポイントをつくってみた。
jit.gl.sketchを使って、@nameなどで名前のついたそれぞれの物体にglrotateだのgltransrateだののメッセージを送るとできるみたい
これは捗る