1


http://http.developer.nvidia.com/GPUGems/gpugems_ch21.htmlのようにグローを実装します
そして今、グロー部分に残像効果を実装したいので、21.5.4 残像で説明されているように、トレイルを作成します記事の効果部分。

私のアプローチは、水平方向および垂直方向のブルーミングの後にグロー テクスチャを別のフレーム バッファー ( Trail holder ) に渡し、現在のトレイル カウント(トレイル ホルダーに既にレンダリングした回数)に基づいて、フェードアウト効果のために変更されたアルファ カラーでグロー テクスチャ クワッドをレンダリングすることです。次に、トレイル ホルダー テクスチャを現在のフレームの最終イメージとミックスします。そのため、以前のスプライトの場所で一連の光るパーツを取得しました。トレイル カウント==最大トレイル サイズ
の 場合、トレイル ホルダーをクリアします。

問題は、トレイル ホルダー バッファーをクリーニングから保存する方法です

//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//glClearColor(...);  

以前のレンダリングに関する情報は保持されません。

PS バッファやブルーミングがなくても、テクスチャ付きクワッドをデフォルト バッファに移動して描画し、何もクリアしないと、黒い画面で移動します。なぜ、どのように修正するのですか?質問は、OpenGL ES 2.0 およびデスクトップ OpenGL の一般的なようです。

4

1 に答える 1

2

オフスクリーンのフレーム バッファ オブジェクトにカラー アタッチメントとしてバインドされたテクスチャのスタックにレンダリングすることをお勧めします。次に、後処理ステップでテクスチャリング レイヤーを組み合わせて、画面上のフレーム バッファーにレンダリングすることにより、グロー エフェクトが作成されます。

フレームバッファ オブジェクトを使用することで、求めているクリア操作を分離できます。

于 2012-10-04T14:07:23.900 に答える