問題タブ [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.
c++ - NURBS と opengl 4.2 コアはどうですか?
RedBook の NURBS の章は、ユーティリティ ライブラリを含め、非推奨であると示されています。「この機能の一部は GLU ライブラリの一部ですが、コア OpenGL ライブラリから削除された機能に依存しています。」
OpenGL 4.2 には実際に NURBS カーブとサーフェスを操作するための C++ ツールキットがないということですか? 商用のサードパーティ ツールキットがいくつかありますが、それらはクロスプラットフォームではありません (主に Windows)。
...?
opengl - ImageAPIを使用したシェーダーの再コンパイルで致命的なエラーが発生しました
エラーが発生します
たとえば、テクスチャ書き込みにImageapiを使用するGLSLシェーダーを再コンパイルしようとするたびに
ただし、最初のコンパイルは正常に機能します。他の誰かがこれに遭遇しましたか、そして回避策はありますか?
opengl - glBlendFuncおよびglClearColorアルファパラメータ
OpenGLでは、適切な透明効果を実現するために使用する必要がありますglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
が、そのブレンド関数を使用すると、のアルファパラメータはglClearColor
無意味になります。でアルファパラメータを変更しglClearColor
ても、同じ効果が得られます。いつalphaパラメータを使用できますglClearColor
か?どのような効果が得られますか?
opengl - imageStoreを使用してGL_R32UIとしてテクスチャに書き込めない
内部フォーマットがの3DテクスチャがありGL_R32UI
、浮動小数点テクスチャのふりをしている限り、書き込みは正常に機能します。
それは私がそれを
そしてそれに書き込みます
すべてが期待どおりに機能します。ただし、正しいタイプを指定しながらバインドしようとしています
とそれに書き込みます
動作していないようです。つまり、テクスチャに何も書き込まれません。この操作を正しく機能させて、操作を使用できるようにしたいと思いimageAtomic
ます。誰かが何が起こっているのか考えていますか?
opengl - ボクセルにアクセスする複数のスレッドの一意のバッファー インデックスを取得する
「リアルタイム グローバル イルミネーションのための Octree ベースのスパース ボクセル化」の一部を実装しようとしています。
基本的にボクセル化だけで、すでに完了しています。
そして、「ボクセル フラグメント リスト」構造は、基本的に、ボクセルの位置と属性の事前に割り当てられたいくつかのバッファーです。
アトミックカウンターとアトミックコンプスワップまたはアトミック追加のいずれかを使用して位置バッファーを作成するのは非常に簡単で、1つのスレッドによってのみ書き込まれるようにします
しかし、複数のスレッドが同じボクセル位置に書き込みを行っている場合、すべてのスレッドが適切なインデックスを取得できるようにするにはどうすればよいでしょうか? 上記のように、正しいインデックスは 1 つのスレッドに対してのみ有効です。
以下のようなもの
私はこれに対してさまざまなアプローチを試みました。紙の唯一のヒントは
(ボクセル フラグメント) リストを管理するには、次に使用可能なエントリのインデックス (リスト内のボクセル フラグメントの数のカウンターでもある) を、別のバッファー オブジェクト内の単一の 32 ビット値として格納します。
これは、アトミック カウンターのバッファー オブジェクトを記述しているように思えます。物事をシンプルに保つために (今のところ)、移動平均 (論文で説明されているように) を計算するのではなく、単純に色を合計し、レンダリング時にアクセス数で割っています。
opengl-4 - ステンシルバッファ-glStencilFuncSeparateを理解する
サンプルコードは次のようになります。
各ピクセルのステンシルバッファのバイナリ値は次のとおりです。00000010(8ビット精度)次に、glStencilFuncSeparateは次の論理演算を実行します:(00000000&00000001 = 00000000)、(00000010&00000001 = 00000000)-> 00000000!= 00000000したがって、ステンシルテストは次のようになります。失敗し、オブジェクトの前面は描画されません。たとえば、マスクを2または255に設定すると、テストに合格します。
glStencilFuncSeparateのRef引数が257の場合、1にクランプされます。1。マスク引数とクランプはどうですか?2.提示された情報は正しいですよね?
opengl-4 - 遅延シェーディングと背景色
簡略化されたディファード シェーディングを実装しました (ポイント ライトの境界は計算しません)。ここで、g バッファーを埋めた後、コンピューティング ライティングにフル スクリーン クワッドを使用します。複数のライトを処理するために、第 2 段階でブレンディング ( glBlendFunc(GL_ONE, GL_ONE)) を使用します。次に、正しい結果を得るには、glClearColor の RGB 値を 0 に設定する必要があります。g-buffer を塗りつぶすとき、glClearColor は任意の色にすることができます (一部の色は、最終的な画像の背景色のみを変更する場合があります)。最終的な画像の背景色をどのように設定すればよいのでしょうか。これを行う 1 つの方法は、g バッファーを埋めるときに glClearColor(0,0,0) を使用し、フラグメント シェーダーで次の if ステートメントを使用することです。
正常に動作しますが、if ステートメントによってパフォーマンスが低下する可能性があります。これは背景色を設定する唯一の方法ですか?
opengl - この単純な OpenGL コード (「寛大な」3.3 および 4.2 プロファイルで動作) を厳密な 3.2 および 4.2 コア プロファイルで動作させるにはどうすればよいですか?
厳密なコア プロファイルではレンダリングされないが、「通常の」(コアのみとして明示的に要求されていない) プロファイル コンテキストでは問題なくレンダリングされることに気付いた 3D コードがいくつかありました。この問題を切り分けるために、三角形と四角形だけを描画する最小で最も単純な OpenGL プログラムを作成しました。
その OpenGL プログラムを Gist here として投稿しました。
useStrictCoreProfile変数を false に設定すると、プログラムはコンソールにエラー メッセージを出力せず、上記のスクリーンショットのように、Intel HD OpenGL 3.3 と OpenGL 4.2 を使用する GeForce の両方で四角形と三角形を描画します。
ただし、useStrictCoreProfileを true に設定すると、背景色はクリアされますが、三角形と四角形は描画されません。コンソール出力は次のとおりです。
... 3.2 の代わりに 4.2 の厳格なコア プロファイルが要求された場合、同じ問題が発生します。3 つの異なる nvidia GPU に適用されるため、厳密なコア プロファイルに適切に準拠していないと思います。何が間違っていましたか?どうすれば修正できますか?
インポートしている glutil パッケージ内にあるため、上記の Gist にはglEnableVertexAttribArray呼び出しが見つからないことに注意してください。ただし、これはGist のcompileShaders()関数の最後のステップとして呼び出されます。
c - OpenGL 4.X 失敗したリクエストのエラー: BadAlloc (操作のためのリソースが不足しています)
OpenGL 4 でプログラムをコンパイルしようとすると、1 つの問題があります。問題は次のとおりです。
Debian Wheezy を使用しています。
コードは OpenGL ブック です http://openglbook-samples.googlecode.com/svn/trunk/Chapter%201/
どうしてこれなの?。
可能な解決策は何ですか?
必要な情報は、お尋ねください。
ご回答ありがとうございます。
opengl-4 - glGenerateMipmapはどのように機能しますか?
パラメータレベル=0でglTexImage2Dを呼び出します。次に、glGenerateMipmap(GL_TEXTURE_2D)を呼び出します。GL_TEXTURE_BASE_LEVELとGL_TEXTURE_MAX_LEVELはどうなりますか?これらは自動的に次のように設定されると思います。
後で、上記のパラメータを手動で設定して、たとえば最大レベルを下げることができます。そうですか?