問題タブ [glsl]

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

opengl - OpenGL シェーディング言語の後方互換性

GLSL バージョンが 130 未満の場合、GLSL シェーダーがコンパイルできないことに気付きました。

下位互換性のあるシェーダー ソースを持つための最も重要な要素は何ですか? 完全な後方互換性は望んでいませんが、GLSL が 130 未満の GPU で単純な (前方互換性のある) シェーダーを実行するための主なガイドラインを理解したいと思います。

もちろん、問題はプリプロセッサで解決できます

しかし、おそらく私が無視している多くの問題があります。

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

c++ - GLSL で複数のシェーダーを使用して複数のテクスチャをロードする際の問題

同じシーンで複数のテクスチャを使用しようとしていますが、何を試しても各オブジェクトに同じテクスチャが読み込まれます。これが私が現在行っていることであり、各シェーダーを初期化します。

SendShaders のコードは次のとおりです。

そして、メインループで:

UseShader のコード:

void GraphicsObject::UseShader(char textureName []){

}

最後に、テクスチャ ロード メソッド:

int GraphicsObject::LoadGLTexture(const char fileName []){

}

AUX_RGBImageRec* GraphicsObject::LoadBMP(const char fileName[], int arraySize){

}

どちらのシェーダーが最後に初期化されるかは、両方のオブジェクトに使用されるテクスチャです。お時間をいただきありがとうございます。コメントをお待ちしております。

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

opengl - OpenGL 頂点シェーダーで、gl_Position が均質化されない

gl_Position が自動的に均質化される (w で除算される) ことを期待していましたが、機能していないようです.. 以下の結果が異なるのはなぜですか?

1) void main() { vec4 p; ... 省略 ... gl_Position = ProjectionMatrix * p; }

2) ... 上と同じ ... p = 射影行列 * p; gl_Position = p / pw;

この 2 つは同じ結果を生成することになっていると思いますが、そうではないようです。1 は動作しませんが、2 は期待どおりに動作しています。精度の問題である可能性はありますか? 何か不足していますか?これは私をほとんど夢中にさせています..必要な助けが必要です。よろしくお願いします!

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

opengl - OpenGL / GLSLは、シェーダーがIntelカードで正常にコンパイルされているかどうかをチェックします

このコードを使用して、glslシェーダーが正常にコンパイルされたかどうかを確認しています。

返される文字列の長さは、nvidiaおよびATIカードでは空ですが、Intelカードでは、これは「エラーなし」の文字列を返します。

本当にエラーがないかどうかを確認するための最良の方法は何ですか?この文字列をチェックする必要がありますか?または、この関数glGetInfoLogARBが返す必要のある規則はありますか?

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

glsl - OpenGLのぬいぐるみ

OpenGL用の金属/プラスチック/水/火/...シェーダーを見たことがあります。

ただし、OpenGLでぬいぐるみ/テディベアなどの毛皮のようなものをレンダリングすることは可能です(これはrenderman /レイトレーサーで可能ですが、OpenGlで実行したいと思います)。

このためのGLSlシェーダーへのポインターがある場合は、正しい方向に向けてください。

ありがとう!

[毛皮にはシェーダー以上のものが必要なので、答えはノーだと思います。ほとんどの場合、その場でジオメトリを作成する必要がありますが、間違っていることが証明されることを望んでいます)]

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

opengl - Fragment Shader Eye-Space スケーリングされていない深度座標

GLSL フラグメント シェーダーで、シーン内のオブジェクトまでのスケーリングされていない (フロント クリッピング プレーンからの実際の距離) 距離を使用しようとしています。gl_FragCoord.z の値が予想よりも小さいです。私の頂点シェーダーでは、ftransform() を使用して gl_Position を設定します。値が 15 から 20 の間であると予想しているときに、2 から 3 の間の値が表示されます。

実際の目の空間深度を取得するにはどうすればよいですか? ありがとう!

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

c++ - 特定のオブジェクトにシェーダーを適用する方法

シーンにいくつかのオブジェクトがあります。シェーダーをそのうちの1つだけに適用したいと思います。環境:OpenGL 2.0、C ++、GLUT、GLEW。

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

ipad - iPadはGLSLをサポートしていますか?

iPadはGLSLをサポートしていますか?

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

glsl - NPR GLSL チュートリアル

GLSL で写真のようにリアルでないレンダリングを行うためのチュートリアルの良いリストを持っている人はいますか? GLSL に関する本や NPR に関する本は見たことがありますが、GLSL で NPR を行うことに関する本やチュートリアルはほとんどありません。(リアルタイムが欲しいのでGLSLでやりたい)。

ありがとう!

0 投票する
4 に答える
1033 参照

c - テクスチャで HSL 変換を実行するにはどうすればよいですか?

OpenGL テクスチャがあり、テクスチャをレンダリングする前に HSL 変更を実行する必要がある場合、聞いたところによると、シェーダーが必要です。問題は、シェーダーについて何も知らないことです。私がどこを見る必要があるか知っている人はいますか?

テクスチャと 3 つの値、色相シフト (度単位)、彩度と明度の乗数 (0 ~ 2) を渡すことができる関数を作成し、その前にこれらの変換をテクスチャに適用するシェーダーを呼び出します。レンダリングします。インターフェイスは次のようになります。

procedure HSLTransform(texture: GLuint; hShift: integer; sMult, lMult: GLfloat);

しかし、ルーチンの中に何が入っているのかわかりません。HSL/RGB 変換に関連する基本的な計算は理解していますが、シェーダーの書き方や適用方法がわかりません。誰かが私を正しい方向に向けることができますか? Delphi の例が望ましいですが、必要に応じて C を読むこともできます。