【发布时间】:2026-01-10 20:50:01
【问题描述】:
我不知道为什么,但我多次更改我的精灵上的 Shader(CCGLProgram)。我希望能够使用我在精灵上分配和使用的先前着色器,但是这样做会使我的整个精灵变黑(没有错误)。
我发现的唯一方法是重新创建我的程序并改用新创建的程序。但是,这并不理想,如果可能,我宁愿使用原始程序找到解决方案。
【问题讨论】:
-
您不确定为什么要更改精灵的着色器? “重新创建我的程序”是什么意思?您是否验证了着色器工作正常(即没有错误)?
-
是的,我有两个着色器。我附上第一个,然后删除第一个并附上第二个。这可行,一切看起来都应该如此,但是当我稍后再次附加第一个时,我的屏幕变黑了。但是,如果我分配一个新的 CCGL 程序(与第一个程序具有相同的顶点和片段着色器)并附加该程序,那么一切正常。
标签: cocos2d-iphone opengl-es-2.0 kobold2d