2013年10月16日水曜日

libpdでパッチ開いて鳴ったわー

鳴ったぜ.

libpdのJNI側のソースコードやAudio glueとサンプルプログラムを見比べてたら形が見えてきた.

2013年10月9日水曜日

Desktop環境(Mac)でJava上のlibpd


ハマり中~

PdBase.openAudio 等のオーディオ系のメソッドは,libpdに同梱されたJNIのNative関数を呼んでいます.
  1. 生のlibpdをデスクトップ環境向けにビルドするとNative関数の中身はカラッポ.jni/z_jni_plain.c
  2. Android向けにビルドすると,これが jni/z_jni_opensl.c に置き換えられる.
  3. PortAudio branch版のlibpdでのデスクトップ向けビルドでは, jni/z_jni_pa.c に置き換えられる.

2013年10月7日月曜日

libpdを始めるにあたっての前提知識

とりあえずlibpdが動いている所を見たいという方はこちらへどうぞ

Pdをコードに埋め込むという触れ込みの「libpd」ですが,これが具体的にどのレイヤの存在で,周りでどういう周辺サービスが動いてることになるのかをちゃんと押さえてないとマズかった.

まず,libpdは独自のサウンドAPIみたいな何かを持つわけではないです.一部ネットメディアで「libpdを使えばAndroidでもレイテンシが云々」みたいな紹介のされ方をしているので,あんまり詳しくない人は誤解をしてしまうかも(=私という説).

2013年10月3日木曜日

libGDXでシェーダやTweenなど

進捗.stackoverflow.comに出入りする日々です…

BG面

波打つタイルのポリゴンを作成.
各頂点には位置座標の他,色と面法線ベクトルを格納.

VRAM領域に2つのフレームバッファを用意し,普通の位置座標と色を使ったレンダリング画像Aと,法線マップのレンダリング画像Bをそれぞれ描きこむ.



2013年9月26日木曜日

やっぱり3Dは避けて通れなかった

映像的な面でのモチベーションとして,色々なデザインモチーフやVFX的効果を取り入れて動きを出し,画面いっぱいを使って楽しさを演出したいというイメージをもって進めています.

プログラマブルシェーダ使いたさ故にイキナリOpenGL ES 2.0で作り始めてるのは,そんな自分の中のイメージを楽に具現化できる機能というか可能性を感じるからで,全くGPUプログラミングの経験がない自分でも楽に試作を重ねられるGLSL Sandboxは大いに活用させてもらってます.