Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
目前我用我的自定义着色器替换 default.sp 并且它工作正常。但是这个着色器适用于场景中的所有对象。
Scene->SetMtl()仅适用于材质,不适用于 OpenGL 着色器。
Scene->SetMtl()
如何仅将自定义着色器用于某些对象?
有一种方法clScene::SetMtlFromShader()接受三个clRenderState变量。每个通道一个:法线、阴影和反射。
clScene::SetMtlFromShader()
clRenderState
您需要创建自己的clRenderState并使用clRenderState::SetShaderProgram()方法将 OpenGL 着色器程序设置为它。它应该可以正常工作。
clRenderState::SetShaderProgram()