【问题标题】:How can i use my custom shader in Linderdaum Engine scene?如何在 Linderdaum 引擎场景中使用我的自定义着色器?
【发布时间】:2013-07-31 13:46:38
【问题描述】:

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

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

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

【问题讨论】:

  • 这个问题没有足够的信息供任何人回答。
  • 那么你只需要取消绑定着色器?
  • @Vallentin:我需要告诉场景在材质中只为一个对象使用我的着色器。

标签: c++ opengl linderdaum


【解决方案1】:

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

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

【讨论】:

  • 我可以从文件中加载它吗?
猜你喜欢
  • 2023-03-30
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 2019-12-18
  • 2018-08-10
  • 1970-01-01
  • 2016-08-17
  • 2019-03-11
相关资源
最近更新 更多