目前我用我的自定义着色器替换default.sp,它工作正常。但是此着色器应用于场景中的所有对象。
Scene->SetMtl()
仅适用于素材,而不适用于OpenGL着色器。
如何仅为某些对象使用自定义着色器?
答案 0 :(得分:1)
方法clScene::SetMtlFromShader()
接受三个clRenderState
个变量。每次通过一次:正常,阴影和反射。
您需要创建自己的clRenderState
并使用clRenderState::SetShaderProgram()
方法将OpenGL着色器程序设置为它。它应该工作正常。