2014-01-19 59 views
0

gl.getUniformLocation(this._glprogram, cc.UNIFORM_ALPHA_TEST_VALUE_S)返回-1 在iOS上的cocos2d-x-2.2.1 js綁定中,它在html5版本中運行良好。無法獲取cc.UNIFORM_ALPHA_TEST_VALUE_S的統一位置?

這是一個錯誤或任何其他方式我可以得到UNIFORM_ALPHA_TEST_VALUE_S位置?

我也在樣本/ Javascript/Shared/tests/SpriteTest/SpriteTest.js的「Sprite:openGL Z vertex」中檢查了它的測試用例,它有同樣的問題。

var alphaTestShader = cc.ShaderCache.getInstance().getProgram("ShaderPositionTextureColorAlphaTest"); 
    var glprogram = alphaTestShader.getProgram(); 
    var alphaValueLocation = gl.getUniformLocation(glprogram, cc.UNIFORM_ALPHA_TEST_VALUE_S); 
    cc.log(alphaValueLocation); 
+0

你需要改變你的標題 –

+0

你檢查GL錯誤?您可能還需要向我們展示一些代碼。 – concept3d

+0

控制檯只打印出「CC_AlphaValue」。 cocos2dx'測試用例具有相同的問題。 – poordeveloper

回答

0

錯誤在於UNIFORM_ALPHA_TEST_VALUE_S有錯誤的值。

cc.UNIFORM_ALPHA_TEST_VALUE_S = 'CC_AlphaValue'; // wrong 

=>

cc.UNIFORM_ALPHA_TEST_VALUE_S = 'CC_alpha_value'; // correct