問題タブ [geometry-shader]

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 投票する
1 に答える
212 参照

transformation - Cg ジオメトリ シェーダーでのワールド空間ビューの方向

Cg ジオメトリ シェーダー内のワールド空間でビューの方向を取得する方法は?

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

hlsl - 出力ストリームでジオメトリ シェーダーをどのように使用しますか?

この機能は非常に不十分に文書化されているようです。DirectX SDK のジオメトリ シェーダー チュートリアルでは、CreateGeometryShaderWithStreamOutput を使用する例はなく、その基本を説明するスレッドはどこにもありません。msdn では、それを作成するために使用する関数が示されています、しかし、それがどのように、そして何のために使用されているかではありません.それをうまく使用した人はいますか?小さな例またはチュートリアルへのリンクを共有できますか?それは何のために使用され、パフォーマンスは賢明ですか?私が理解している限り、GPU ベースの錐台カリングに使用されますか?

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

opengl - ジオメトリシェーダーの幅の広い線は奇妙な動作をします

ジオメトリシェーダーを使用して、(画面スペースで)任意の幅の広い線をレンダリングしようとしています。最初はすべて問題ないように見えますが、特定のビュー位置では、線が正しくレンダリングされません。

正しいレンダリング 正しくないレンダリング

左側の画像は正しいレンダリングを示しています(正のX、Y、Z軸に3本の線、幅2ピクセル)。

カメラが原点の近く(実際には線の近く)に移動すると、線は右の画像のようにレンダリングされます。シェーダーは単純なようで、GPUで何が起こっているのかわかりません。

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

arrays - Macで頂点からジオメトリシェーダーにさまざまな配列を渡す

頂点シェーダーからジオメトリシェーダーに、頂点ごとに任意の数のさまざまな値を渡すことができるようにしたいと思います。OpenGLには動的配列がないことを知っているので、コンパイル時に番号を指定する必要があります。すべては、NVIDIAGeForce9400MグラフィックカードとOpenGL2.1のみを提供するドライバといくつかの拡張機能を備えたAppleMacBookで実行する必要があります。

ここでの問題は、ジオメトリシェーダーが、頂点ごとに1つの要素を持つフォームまたは配列で入力を受け取ることであるように思われます。私の知る限り、私のセットアップで使用できる配列の配列はなく、配列を含むインターフェイスブロックの配列もありません。これまでのところ、私が思いついた最善の解決策は、この情報を渡すためにいくつかの変数を指定し、頂点シェーダーの配列から抽出して、ジオメトリシェーダーで特定のストライド長の配列に戻すことです。そうすれば、計算されたインデックスを使用して値へのアクセスを実行できます。

より良い、よりエレガントな方法はありますか?

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

macos - OSX で OpenGL を使用して 3D テクスチャにレンダリング (マルチレイヤー フレームバッファ アタッチメント)

OSX 10.7.5 で OpenGL 3.2 CORE コンテキストをセットアップし、レイヤード レンダリング アプローチを使用して 3D テクスチャにレンダリングしようとしています。ジオメトリ シェーダ機能「gl_layer」サポートされていますが、GL_TEXTURE_3D をフレームバッファ アタッチメントにバインドできません。GL_FRAMEBUFFER_UNSUPPORTED を返します。

これは、MBP のカードとドライバーのバージョンです。

AMD Radeon HD 6770M 1024 MB - OpenGL 3.2 コア (ATI-7.32.12)

この機能は、特定の拡張子 AFAIK とは直接関係ありません。これがドライバーまたはハードウェアでサポートされていないかどうかを判断する方法を知っている人はいますか? 本当にありがとう。

再構築するコードの下。glfw を使用してコンテキストを設定します。

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

shader - 「ビュー逆行列」の計算方法

RenderMonkey で出てきたパーティクル システムの例を試しています。「ビュー逆行列」を使用して、パーティクル エフェクトのクワッドを表示します。

RenderMonkey 内からすべての値を確認できますが、「ビュー逆行列」を計算する方法がわかりません。ビュー行列の逆行列でも、ビュー投影の逆行列でもありません。

これが私が知っていることです。名前は「変数セマンティクス」です。

編集、RenderMonkey にバグがあると思います。別の効果をアクティブにして元に戻らない限り、Viewmatrix は移動しても更新されないためです。

この記事から: http://swiftcoder.wordpress.com/2008/11/25/constructing-a-billboard-matrix/

私はそれが次のとおりだと信じています:

ここで、V はビュー マトリックスの回転部分の逆数を表し、x、y、z はビューの位置を表します。ただ、レンダーモンキーのバグでやってみるまで確認できません。

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

opengl - ジオメトリシェーダーに関するクエリ

GL_ARB_geometry_shader4拡張機能を使用してジオメトリシェーダーを扱っています。

私のコードは次のようになります:

私の頂点シェーダーは:

ジオメトリシェーダーは:

このコードでは何もレンダリングされません。glDrawArrays()のモードは正確には何である必要がありますか?GL_GEOMETRY_OUTPUT_TYPE_EXTパラメーターはglDrawArrays()にどのように影響しますか?

私が期待しているのは、3つの頂点がGeometry Shaderに渡され、それらを使用してサイズ4のプリミティブを作成することです(GL_TRIANGLE_STRIPに4つの頂点が必要であると想定)。誰かがこれに光を当ててくれませんか?

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

macos - MacOS のジオメトリ シェーダー

単純なパススルー ジオメトリ シェーダーを作成しようとしていますが、うまく機能せず、その理由もわかりません。ここに私のGSがあります:

MacOS 10.8 と OpenGL Shader Builder 2.2 (テスト用) を使用しています。バージョン120が私が使用できる最新のようです。

問題は、コンパイルとリンクは成功するが、何もレンダリングされないことです。
設定しました

私は何が欠けていますか?

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

opengl - ジオメトリ シェーダーのボクセル化が間違っている

モデルを合法化するために、(シェーダー メーカーを使用して) ジオメトリ シェーダーを作成しようとしています。まず、ボクセル化を試みていますが、結果が良くなく、どこが悪いのかわかりません。

次のコードでは、入力三角形の重心を見つけて、作成するボックスの中心にします。

私は世界で最もエレガントなコードではないことを知っていますが、最初に最初に行き、それを機能させる必要があります...

これは私が得ているものです:ここに画像の説明を入力 これは私が得るべきものです:ここに画像の説明を入力

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

opengl - シェーダー パイプラインを介して頂点カラーを渡すにはどうすればよいですか?

頂点、ジオメトリ、およびフラグメント シェーダーを介して頂点の色を渡そうとしています。

頂点シェーダー:

ジオメトリ シェーダ:

フラグメント シェーダー:

ただし、機能していません:-(。両方のポイントが灰色になります。これを行うにはどうすればよいですか?