2012-03-14 10 views
3

私はこれをしばらく前から探していましたが、適切な答えが見つかりませんでした。OpenGL-ES 2.0(Android用)、2Dダイナミックライティングエフェクトを作成するには?

http://www.youtube.com/watch?v=W53rTHXM6yo

しかし、私は本当にどこから始めれば分からない: 私はこの 動画のようにAndroidの使用のOpenGL-ES 2.0の2Dダイナミックな照明効果を作成します。

誰かが私に少しでも助けを与えてくれたら、私は本当に感謝しています。

は、私は、ビデオの作者は、この効果を実装する方法を確認していない事前

答えて

1

でいただきありがとうございます。ただビデオを見て、以下のコメントを読むだけで、次のような効果が得られると思います。

最初に光源が1つしかない場合を考えてみましょう。ラジアルグラデーションテクスチャをあらかじめ描画することができます。 (中央で最も明るい、境界では暗い、中間では灰色です。Photoshopを使用してこれを描画することができます)光源の位置を中心にそのようなテクスチャをレンダリングします。次に、影を描画するために三角形を生成する必要があります。光源がAに位置すると仮定します。任意のポリゴン上の線分BCを考えると、線ABを点Dまで(少なくとも画面から外れて)十分に延長する必要があります。 ACをポイントEに拡張します。次に、クワッドBCED(または2つの三角形BCDとCDE)があります。このクワッドを黒色でレンダリングします。すべてのポリゴンのすべての線分に同じことを行います。それは影です。そして、あなたは単一の光源の効果を得ます。

複数の光源の場合、各光源の効果をフレームバッファオブジェクト(FBO)にレンダリングできます。そして、最終的にFBOを平均化するだけです。 (実際には、各光源の色の値を累積するために1つのFBOしか使用できません。最後のパスでは、光源の数で除算するだけです)。

2Dライト効果を実現する簡単な方法だと思います。

関連する問題