2013-06-01 78 views
0

我是iOS和OpenGL編程新手,目前我正在編寫一個使用OpenGL ES 2.0和GLKit進行練習的簡單程序。現在我可以成功加載PNG文件並將其顯示在屏幕上。如何使用OpenGL ES 2.0和GLKit設置圖像的不透明度?

我在我的程序中使用了GLKViewController,並在viewDidLoad中做了一些初始化。這裏是我的glkView:drawInRect方法中的代碼:

glClearColor(115.0/255.0, 171.0/255.0, 245.0/255.0, 1.0); 
glClear(GL_COLOR_BUFFER_BIT); 
glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

self.effect.texture2d0.name = self.textureInfo.name; 
self.effect.texture2d0.enabled = YES; 

[self.effect prepareToDraw]; 

glEnableVertexAttribArray(GLKVertexAttribPosition); 
glEnableVertexAttribArray(GLKVertexAttribTexCoord0); 

long offset = (long)&_quad; 
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(ImageVertex), (void*)(offset + offsetof(ImageVertex, geometryVertex))); 
glVertexAttribPointer(GLKVertexAttribTexCoord0, 2, GL_FLOAT, GL_FALSE, sizeof(ImageVertex), (void*)(offset + offsetof(ImageVertex, textureVertex))); 

glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 

上面的代碼工作得很好。現在我想設置PNG圖像的不透明度。這聽起來很簡單,但我不知道如何改變不透明度...

回答