2013年10月3日木曜日

libGDXでシェーダやTweenなど

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

BG面

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

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





法線マップBをもとに,4近傍ラプラシアンフィルタを使って輪郭を抽出.


フィルタが荒いのでギザギザになってるけど,まぁ今は細かいところは気にしない.

抽出した輪郭をポリゴンのレンダリングAに書き加えるついでに,法線マップの色情報を適当に足してやることで何となく光沢感っぽい絵になった.


このグラフィック自体がどうのというのではなく,今後色々な演出を作りこむのに必要な機能の実装を進めてるというつもり.

ここから更に残像処理のためのフィードバックなんかも作りたいのに,現状でレンダリングに3パス.リソース使いすぎな気がする.各種軽量化は必須課題か.マルチパスレンダリングとかはどうなんだろう?

libGDXがセットしっぱなしにしているglEnable(GL_BLEND).明示的にDisableにしてあげないと特定のテクスチャバッファが黒塗りされるらしく,そんだけで暫く詰まった.各種仕様書とかリファレンス本を見てるんだけど,こういう一見関係なさそうなアクションを呼んだ時にどこに影響するかみたいなものを解説してあるものは無いんでしょうか…

ゲームプレイ面

Universal Tween Engineでパーツの動きを制御.
Tweenは最初よくわからなかったが何のことはない,シンセ的に言うとエンベロープジェネレータみたいなもので,発生させたエンベロープを,位置座標やら色,大きさ等といった思い思いのパラメータにモジュレーションしてあげるようなイメージの制御機構だった。

libGDXはHTML5をターゲットにしたビルドにも対応しているので,試しにやってみよう…と思ったんですが,Javascriptだけで動くんじゃなくてTomcatとかなんとかっていうサーブレットを立ててないといけないんですね.


いいいかげんlibPdのほうに入ろうと思うんですが,なんだかんだでテスト環境の充実が一番大事かもなあということで,libPdもMac上Javaで動くようにしたいところ.

0 件のコメント :

コメントを投稿