如何在Linderdam引擎场景中使用我的自定义着色器

How can i use my custom shader in Linderdaum Engine scene?

本文关键字:我的 自定义 Linderdam 引擎      更新时间:2023-10-16

目前我用自定义着色器替换default.sp,它运行良好。但是该着色器应用于场景中的所有对象。

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

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

有一个方法clScene::SetMtlFromShader(),它接受三个clRenderState变量。每个过程一个:法线、阴影和反射。

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