我正在为Android应用程序的OpenGL ES 2.0。我有一个模型,其中 我应用纹理。我通过使用下面的着色器来做到这一点。它是一个简单的着色器。透明度GLSL Android的OpenGL ES 2.0的
在下面的着色器时,纹理文件是透明的一些地方,我收到了 黑色。相反,我想找到透明的地方,并给出像RGB(0.6,0.7,0.3)这样的特定颜色。请让我知道如何修改下面的着色器,以在我的模型中获取此着色器。
protected static final String mVShader =
"uniform mat4 uMVPMatrix;\n" +
"attribute vec4 aPosition;\n" +
"attribute vec2 aTextureCoord;\n" +
"varying vec2 vTextureCoord;\n" +
"void main() {\n" +
" gl_Position = uMVPMatrix * aPosition;\n" +
" vTextureCoord = aTextureCoord;\n" +
"}\n";
protected static final String mFShader =
"precision mediump float;\n" +
"varying vec2 vTextureCoord;\n" +
"uniform sampler2D uTexture0;\n" +
"void main() {\n" +
" gl_FragColor = texture2D(uTexture0, vTextureCoord);\n" +
"}\n";
你是如何定义的地方“时,纹理文件是透明的”?你的意思是有一个零的阿尔法?你不能只在这些点上把特定的颜色加入到纹理中吗? –
是的,我的意思是阿尔法是零。但我想在那个地方放上不同的颜色。所以我想通过代码来完成。请让我知道您的意见。 – Vinodtiru