0
我爲我的遊戲使用OpenGL-ES 1.1。除了當我繪製99%透明的紋理時,alpha混合對我來說工作得非常好。例如,如果我有一個512x512的圖像,中間只有一條2px黑線。這些紋理在android上繪製爲絕對白色。OpenGL-ES主要是透明紋理繪製白色
我的混合功能:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
任何幫助將不勝感激。
編輯:這是我如何設置紋理
glEnable(GL_TEXTURE_2D);
glGenTextures(1, &textureCreated);
glBindTexture(GL_TEXTURE_2D, textureCreated);
maOpenGLTexImage2D(image);
// Set texture parameters.
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
那麼有什麼辦法呢? – user2238284
使用本機代碼無論如何您都不需要Bitmap類。使用Java,您可以使用GLES11封裝器調用GLES11.glTexImage2D()並傳入ByteBuffer以避免使用GLUtils,PNGDecoder和Bitmap。 – ClayMontgomery
感謝您的回覆。我添加了如何設置gl紋理的代碼。函數maOpenGLTexImage2D是一個等效於glTexImage2D()的mosync sdk函數。你能告訴我如何修改代碼嗎?對不起,我剛剛學習opengl – user2238284