2013-06-01 40 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图像的不透明度。这听起来很简单,但我不知道如何改变不透明度...

回答