gpt4 book ai didi

java - OpenGL ES 2 - 顶点的颜色和纹理

转载 作者:行者123 更新时间:2023-12-01 12:41:45 25 4
gpt4 key购买 nike

我正在使用 OpenGL ES 2.0 编写一个程序。我需要在另一个纹理之上渲染一个纹理,例如时钟指针。纹理均为 1024 x 1024 并且透明。透明度始终呈现黑色,这使我无法将时钟指针纹理覆盖在时钟上。

simple_fragment_shader.glsl

precision mediump float;

varying vec4 v_Color;

void main()
{
gl_FragColor = v_Color;
}
<小时/>

simple_vertex_shader.glsl

uniform mat4 u_Matrix;

attribute vec4 a_Position;
attribute vec4 a_Color;

varying vec4 v_Color;

void main()
{
v_Color = a_Color;

gl_Position = u_Matrix * a_Position;
gl_PointSize = 10.0;
}
<小时/>

texture_fragment_shader.glsl

precision mediump float; 

uniform sampler2D u_TextureUnit;
varying vec2 v_TextureCoordinates;

void main()
{
gl_FragColor = texture2D(u_TextureUnit, v_TextureCoordinates);
}
<小时/>

texture_vertex_shader.glsl

uniform mat4 u_Matrix;

attribute vec4 a_Position;
attribute vec2 a_TextureCoordinates;

varying vec2 v_TextureCoordinates;

void main()
{
v_TextureCoordinates = a_TextureCoordinates;
gl_Position = u_Matrix * a_Position;
}

我是 OpenGL 的新手,我使用过纹理,但我不知道如何获得透明度。

另外,如果这有帮助,我会遵循 OpenGL ES 2 for Android中的方法。 作者:Kevin Brothaler,来自 The Pragmatic Programmers

最佳答案

如果不进行以下设置,Alpha 值可能会被忽略。

glEnable(GL_BLEND);

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

希望这对你有帮助:)

关于java - OpenGL ES 2 - 顶点的颜色和纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com