混合纹理以绘制半透明线条

时间:2011-12-26 07:45:01

标签: android opengl-es drawing textures opacity

我正在尝试开发一个Android绘图应用程序。在这个应用程序中我使用纹理绘制。 我想在另一个上面绘制半透明纹理以获得连续的半透明线,但我只能得到这个:enter image description here

正如你在B部分所看到的,圆形半透明纹理出现在另一个上面。我希望行显示在A部分中。 我正在添加纹理绘图的信息,如width,height,x&y coordinate in ArrayList spriteArray。 使用的混合函数是 - gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA); 设置texture-gl.glColor4f(1, 1, 1, opacityValue);

的不透明度

我也使用gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);它也不起作用。

任何帮助解决这个问题将不胜感激。 如果您需要更多信息,请告诉我。 drawFrame代码:enter code here

gl.glMatrixMode(GL10.GL_TEXTURE);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glColor4f(1, 1, 1, opacityValue);
for (int x = 0; x < GLSurfaceView.mSpriteArray.size(); x++) {
int
mTextureName=GLSurfaceView.mSpriteArray.get(x).textureName;
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureName);

// Draw using the DrawTexture extension.
((GL11Ext) gl).glDrawTexfOES(x, y, 0, width, height);
}

0 个答案:

没有答案