は明確にするために、私は私の質問で始まる:GLSLのTEXCOORDストリームマッピングでRenderMonkeyにバグがありますか?
は(シェーダコードで)使用することが可能ですカスタムは、私はRenderMonkey中(OpenGLの)ストリームマッピングでTEXCOORDの使用に設定された名前属性1.82またはgl_MultiTexCoord0を使用する必要がありますか?
背景(質問は、あまりにすなわちカスタム名またはgl_Normal通常の使用に対して有効であるかもしれない):RenderMonkeyバージョン1.82を使用して
。 一般的な頂点属性 "position"(そしてたぶん "normal")をマッピングするためにストリームマッピングを使用しましたが、テクスチャ座標が正しく転送されていないようです。 シェーダコードについては、GLSLの#version 330と "in"修飾子を使用します。これは、RMがシェーダ自体をコンパイルしないためです(OpenGLドライバが行う)。
私はblenderからエクスポートされた.objファイルと.3dsファイルを試しました。波面.objファイルをチェックすると、すべてのテクスチャ座標情報がそこにあり、頂点の位置と法線もあります。
ストリームマッピングが壊れていて、ストリームマッピングエディタ(動作する頂点位置ストリームのほかに)に変数の名前を付けることに意味がありません。なぜなら、ビルトインとにかく変数。
更新: 非推奨の組み込み変数を使用している場合、1は、シェーダなど
#version 330 compatibility
out vec2 vTexCoord;
と、メイン関数内で互換性モードを使用する必要があります:
vTexCoord = vec2(gl_MultiTexCoord0);
(今I法線のストリームマッピングについてもわかりません。テクスチャ座標が働くとすぐに、通常の問題があり、gl_Normalに戻らなければなりませんでした。)
ここでは動作するソリューションの写真ですが、変数が組み込まれています(そして、ピクチャ内のコメント付きtexcoord変数はストリームマッピングダイアログと同じ名前ではありませんが、試したときに同じ名前でした )(私はそれはあなたがマニュアルにコードを書き換える必要があるだろう意味するものではありだと思う。
私はANを持っていないために実用的なソリューションです)...変換を扱いますあなたの質問に応えてください、しかし、私はマルチプラットフォームの代替案、ShaderMakerを提案することができます:http://cg.in.tu-clausthal.de/teaching/shader_maker/index.shtml – appas
あなたの提案をありがとう。私はShaderMakerを評価していませんが、それは固定パイプラインに向けられているようです。どうやら、ルミナと呼ばれる別のプロジェクトもあります。 – Deorbit
レンダリングサルは、シェーダ3.30を一切サポートできませんか?私はそれがOpenGL 2.1の機能だけだと思った... –