1

目前我用我的自定义着色器替换 default.sp 并且它工作正常。但是这个着色器适用于场景中的所有对象。

Scene->SetMtl()仅适用于材质,不适用于 OpenGL 着色器。

如何仅将自定义着色器用于某些对象?

4

1 回答 1

1

有一种方法clScene::SetMtlFromShader()接受三个clRenderState变量。每个通道一个:法线、阴影和反射。

您需要创建自己的clRenderState并使用clRenderState::SetShaderProgram()方法将 OpenGL 着色器程序设置为它。它应该可以正常工作。

于 2013-08-12T11:25:37.657 回答