1
我不確定爲什麼,但我正在多次更改我的精靈上的着色器(CCGLProgram)。我希望能夠使用先前在Shader上分配和使用的Shader,但是這樣做會將我的整個Sprite變成黑色(沒有錯誤)。在CCSprite上更改着色器
我圍繞着這一發現的唯一方法是重新創建我的程序,並使用新創建的替代。但是,這並不理想,如果可能的話,我寧願使用原始程序來尋找解決方案。
我不確定爲什麼,但我正在多次更改我的精靈上的着色器(CCGLProgram)。我希望能夠使用先前在Shader上分配和使用的Shader,但是這樣做會將我的整個Sprite變成黑色(沒有錯誤)。在CCSprite上更改着色器
我圍繞着這一發現的唯一方法是重新創建我的程序,並使用新創建的替代。但是,這並不理想,如果可能的話,我寧願使用原始程序來尋找解決方案。
您是否在您的某個頂點着色器中引用了u_mvpMatrix?根據cocos2d的版本你使用,你可能需要改變這CC_MVPMatrix
你不知道爲什麼你改變你的精靈的着色器? 「重新創建我的程序」是什麼意思?你是否驗證着色器工作正常(即沒有錯誤)? – LearnCocos2D
是的,我有兩個着色器。我附上第一張,然後刪除第一張,然後附上第二張。這有效,一切看起來都應該如此,但是當我再次附加第一個時,屏幕會變黑。但是,如果我分配一個新的CCGL程序(使用與第一個相同的頂點和片段着色器)並附加該程序,則一切正常。 – AwDogsGo2Heaven