0

画面にタイルマップを描画し、FBOで各タイルライト(グレースケール)を描画します。すべてクワッドです。

ビューをRectに保存します。移動するには、de Rectを変更してから、これを行います...

glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(getViewRect().left, 
            getViewRect().left + getViewRect().width,
            getViewRect().top + getViewRect().height, 
            getViewRect().top, 
            -1, 
            1);
glMatrixMode(GL_MODELVIEW);

Rect内のタイルのみを描画します。

問題はFBOです。見える同じタイル(タイルのライト)を描画する必要があります。

同じタイルをタイルのオフセットを使用してfboに描画し、完全に表示されていないときに境界に小さなクワッドを描画し、texcoordを変更するよりも良い方法があるかどうかを知りたいのですが、これはFBOの外側に描画するためです。 、反対側に描画します。

ライトにシェーダーを適用するため、FBOを使用します。

ビューを移動しない場合は完璧に機能しますが、移動する場合はFBOでの描画方法がわかりません。

4

1 に答える 1

0

glScissorを使用して、FBO 内のすべての描画を制限できるはずです。バインドするたびに glBindBuffer(...) を呼び出した後、この操作を実行します。

お役に立てれば!

于 2012-12-10T21:28:07.507 に答える