2

OpengGL 4.0 を使用して、X 軸上の有限空間内に 2D グリッドを描画したいと考えています。

光をレンダリングする (それらを表示する) ために、vert/frag シェーダーなどを使用して GLSL を使用したいと考えています。

古い OpenGL 2.0 メソッドを使用した最も単純なコードで実行できますが、もちろん、照明/シェーダーを使用して色を付けることはありません。

    void Draw_Grid()
    {
     for(float i = -500; i <= 500; i += 5)
        {
         glBegin(GL_LINES);
            glColor3ub(150, 190, 150);
            glVertex3f(-500, 0, i);
            glVertex3f(500, 0, i);
            glVertex3f(i, 0,-500);
            glVertex3f(i, 0, 500);
         glEnd();
        }
    }

しかし、グラフから 3D 空間の単純な 2D グリッドに変換するのに十分なほどよく理解していない、このチュートリアル以外のチュートリアルを見つけることができます。

4

2 に答える 2

-1

GLSL は、そのようなことを行うためのものではありません。GLSL は、次のようなシェーダーを記述するためのものです。

  • 単純なジオメトリを少し複雑なものにテッセレートする
  • 抽象空間の単純なプリミティブをクリップ空間に変換
  • フラグメントのラスタライズ プロセスを制御する

GLSL は、実際に描画呼び出しを行うために使用することを意図していません。はい、手続き型ジオメトリの生成にシェーダーを使用できますが、常にジオメトリから開始し、クライアント側で呼び出しを描画します。

于 2013-11-09T20:48:15.083 に答える