問題タブ [opengl-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
978 参照

c++ - 頂点バッファ (OpenGL 4+) を使用して SDL_Texture (SDL 2) を描画するにはどうすればよいですか?

いくつかのコードを見つけようとしましたが、古いものしか見つかりませんでした。頂点とインデックスの配列のみを作成しました (正しいことを願っています):

では、次は何ですか?SDL 2 & OpenGL 4+ 用のコードが必要です。また、新しいアイデアも受け入れられます。

0 投票する
3 に答える
313 参照

c++ - 3Dシーンで単一のオブジェクトを回転させる方法は?

3D シーンでオブジェクトを回転させたい。以下のコードでは、WorldMatrix を単純に回転させています。しかし、シーンに 1 つではなく 2 つのオブジェクトが含まれている場合はどうなるでしょうか。WorldMatrix を回転させると、両方とも (奇妙な方法で) 回転します。他のモデルを変更せずに、シーン内の 1 つのオブジェクトを回転するにはどうすればよいですか?

0 投票する
1 に答える
3728 参照

c++ - OpenGL SuperBible 第 6 版、ヘッダー ファイル sb6.h がありません

最近、OpenGL を学び始めました。次に、OpenGL 4.3 を使用する OpenGL SuperBible 第 6 版を読み始めました。

私の問題は sb6.h ヘッダー ファイルにあります。本では、これは、アプリケーション クラスの宣言を含む sb6 という名前空間を定義する C++ ヘッダー ファイルであると書かれているためです。

プログラムをコンパイルしようとすると、C++ IDE (Visual Studio 2010) がそのようなヘッダー ファイルが見つからないというエラーをスローします。

ですから、この問題について聞いたことがある人、またはこの本を読み始めて、この問題を解決する方法を知っている人がいるかもしれません。もしそうなら、返信してください。

0 投票する
1 に答える
1375 参照

opengl - OpenGL 2.0 と最新の OpenGL の混合

1 つのプログラムで古い OpenGL と新しい OpenGL の両方を使用することはできますか? 違いが理解できたとします。

私が使用した私のプログラムでは:

しかし、たとえば、これを含む関数を使用してグリッドを描画できますか: (古い)

そして、何かをテクスチャリングしてレンダリングする、このような関数: (new)

または、 / を含む /vaovbomake 関数を使用する新しいバージョンの使用は廃止されますか?glBeginglEnd

それが理にかなっていることを願っています。無礼をお許しください。

0 投票する
2 に答える
2162 参照

opengl - OpenGL 4.0++ コア プロファイルの固定関数パイプラインの属性の場所は何ですか?

nVidia OpenGL ドライバーの固定パイプライン (シェーダーが接続されていない) 内の属性の場所を知りたい:

経験的に、私は Vertex と Primary Color の位置を見つけましたが、それでもそれらすべてを知っておくとよいでしょう。

理由を知りたい場合は、互換性の理由やGLSLデバッグ (シェーダーがまだ機能しないときに正しいデータを正しい場所に渡すかどうかを確認するため) など...

0 投票する
2 に答える
8466 参照

opengl - OpenGL - GLenum はどのように符号なし 32 ビット整数ですか?

まず、OpenGL には 8 種類のバッファ オブジェクトがあります。

  • GL_ARRAY_BUFFER</li>
  • GL_ELEMENT_ARRAY_BUFFER</li>
  • GL_COPY_READ_BUFFER
  • ...

それらは列挙型、またはより具体的には GLenum です。GLenum は、最大 4,743,222,432 までの値を持つ符号なし 32 ビット整数です。

バッファオブジェクトの使用のほとんどは、次のような特定のターゲットへのバインドを伴います:

glBindBuffer (GL_ARRAY_BUFFER, バッファ [サイズ]);

[void glBindBuffer (GLenum ターゲット、GLuint バッファ)] ドキュメント

私の質問は-その列挙型の場合、その唯一の値はそれぞれ0,1,2,3,4..7でなければならないということです.7までの値しかないのに、どうしてわざわざ32ビット整数にするのですか? CS と OpenGL に関する私の知識を許してください。それは非倫理的なようです。

0 投票する
1 に答える
540 参照

opengl - Haskell OpenGL 手続き型生成

Haskell を使用して、OpenGL に与えられる特定の幅の三角形化された正方形の地形を手続き的に生成しようとしています。

実際に手続き的に生成されるのは高さだけですが、これはまったく難しいことではありません。ランダム関数を使用して[[GLfloat]]、高さの行を表す を作成するだけです。

次に、heightsToCoordsを受け取り、各頂点の x、y、z 座標を含む [[GLfloat]]を返す関数もあります。[GLfloat]

したがって、 を呼び出すとheightsToCoords [[0, 1], [1, 0]]、返されます

私が抱えている問題は、データを OpenGL に取得することです。OpenGL では、(少なくとも私のセットアップでは) 各面を三角測量する必要があり、私が持っているのはポイントだけです。面を作成する方法がわかりません。

このデータを点のリストから面のリストに変換するにはどうすればよいでしょうか? 法線と頂点の順序を無視します。