2011年11月22日

OpenGL ES 2.0 test4(for Android)

物体の質感を表現する。
※動画キャプチャの都合上、端末(SC-01C)で遅回しして編集で早回し

 


側面はペイントでベタ塗りしただけの手抜きです。

1つ目は拡散光のみを表現したモデル、
2つ目は環境光、拡散光、反射光を表現したモデルです。

反射光によって金属のような光沢感が表現され、絵がくるくる回るだけの状態よりは少しリアリティが増しています。


OpenGL ES2.0は、これらのシェーディング処理をシェーダプログラムで実装しますが、環境光と反射光のコードを追加した結果、フレームレートが60→40台に低下しました。
(動画は遅回しのため変化していません)

実際に追加したコードは僅か2、3行で、それも頂点シェーダ側です。それでもここまで速度低下を招くのは意外でした。

OpenGL ES 1.1よりも、上位のOpenGL ES 2.0の方が全てにおいて優れている、という訳ではないのかもしれません。同程度のシェーディング処理だとパフォーマンス的にどちかが優位なのか、比較検討する必要がありそうです。

0 件のコメント :