1

現在、default.sp をカスタム シェーダーに置き換えると、正常に動作します。ただし、このシェーダーはシーン内のすべてのオブジェクトに適用されます。

Scene->SetMtl()マテリアルのみで機能し、OpenGL シェーダーでは機能しません。

カスタム シェーダを一部のオブジェクトだけに使用するにはどうすればよいですか?

4

1 に答える 1

1

3 つの変数clScene::SetMtlFromShader()を受け入れるメソッドがあります。clRenderStateパスごとに 1 つ: 法線、影、および反射。

独自のものを作成し、メソッドclRenderStateを使用して OpenGL シェーダー プログラムをそれに設定する必要があります。clRenderState::SetShaderProgram()それはうまくいくはずです。

于 2013-08-12T11:25:37.657 に答える