如何知道片段着色器中何时有纹理

问题描述

我有一个C ++ / OpenGL渲染引擎,该引擎使用一个库来进行角色动画/渲染。每个角色都使用纹理的混合,没有纹理,没有顶点着色器,没有顶点着色器等。我希望能够为某些角色(而不是全部)添加色彩。我认为最简单的方法是使用片段着色器将淡色应用于片段的颜色。我正在使用Cg,因为这是项目的要求。

我的渲染引擎的主体是这样的:

  • 启用我的着色片段着色器
  • 调用代码进行字符渲染
  • 禁用我的着色片段着色器

在着色器中,通过将片段颜色,片段纹理和色调颜色相乘来应用色调。除非没有启用纹理/将其绑定到GL_TEXTURE_2D,否则所有这些都可以正常工作。我刚黑。我已经能够通过使用textureSize并检查纹理宽度是否大于1来解决此问题,但这感觉很俗气。有更好的方法吗?

此外,正如我已经实现的那样,将应用纹理,就像对纹理启用了GK_MODULAR设置一样。很高兴知道当前的OpenGL设置是什么,而是应用它。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)