gpt4 book ai didi

android - 具有透明区域的纹理将这些区域呈现为黑色 - 如何使它们透明?

转载 作者:行者123 更新时间:2023-11-29 15:25:26 25 4
gpt4 key购买 nike

我有一个非常简单的 2d 正方形,我将游戏 Sprite 从纹理渲染到它上面。这一切都很好,除了纹理中应该透明的区域被渲染为黑色。如何渲染那些透明区域以显示正方形后面的对象(在本例中为背景)?


如果相关,这里是简单的 fragment 着色器:

uniform sampler2D uTexture;
varying vec2 vImagePosition;
void main(){
gl_FragColor = texture2D(uTexture, vImagePosition);
}

和顶点着色器:

attribute vec4 aPosition;
attribute vec2 aImagePosition;
uniform mat4 uMVPMatrix;
varying vec2 vImagePosition;
void main(){
gl_Position = uMVPMatrix*aPosition;
vImagePosition = aImagePosition;
}

最佳答案

经过几个小时的搜索,我实际上偶然发现了答案。你必须打开混合。希望这对其他人有帮助。

GLES20.glEnable(GLES20.GL_BLEND);
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);

关于android - 具有透明区域的纹理将这些区域呈现为黑色 - 如何使它们透明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795185/

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