3

私は海面で行われる iPhone ゲームに取り組んでいます。OpenGL でウェーブまたはリップルを実装するためのサンプル コードまたはチュートリアルを推奨できますか?

これを書いている時点では、iPhone は OpenGL ES 1.1 のみをサポートしているため、シェーダーやその他の派手な効果はサポートされていません。

派手すぎるものはいらない。たとえば、反射は必要ありません。デバイスに過度の負担をかけたくありません。海のように見えるものが必要なだけです。(でも、鯉の池みたいに綺麗だったらいいのになぁ。)

4

2 に答える 2

3

次の形式の用語を一緒に追加します。

a * sin(b * x + c * y + d * t)

そのような各項は、次のように退屈な直線波のセットを生成します:aはこれらの波によって寄与される振幅 (高さ) であり、波の相対的な方向と周波数 (間隔) を制御し、その方向に沿って波をbシフトします(シミュレートされた時間)変わります。cdt

t波状の表面を得るために、定数を保持して、その形式のいくつかの項を試してください。次に、係数を「調整」して、好みの粗さの度合いを得ることができます。満足のいく係数のセットをいくつか見つけたら、t変化させてそれを動かします。

于 2008-10-07T12:52:45.020 に答える
3

iPhone の機能は、1999 年の GPU とほとんど同じです (NVIDIA Riva TNT 2 など)。したがって、最も現実的なオプションは、いくつかのスクロール テクスチャをブレンドすることです。

たとえば、いくつかの「波のパターン」を持つ 1 つのテクスチャがあります。2 つのテクスチャ ステージに設定し、(テクスチャ マトリックスを介して) 異なる方向/速度で両方をスクロールします。最終結果のためにテクスチャを一緒に追加するためのセットアップ テクスチャ コンバイナ (または他の操作を実行します。ここでは多くの可能性があります)。

于 2008-10-07T11:11:29.577 に答える