Opengl 加载并使用alpha通道位图
考虑以下alpha通道位图:Opengl 加载并使用alpha通道位图,opengl,Opengl,考虑以下alpha通道位图: const int width = 4, height = 4; var alpha = new byte[width * height] { 255, 255, 255, 255, 0, 127, 127, 0, 0, 127, 127, 0, 255, 255, 255, 255 }; 我想将其加载到OpenGl中,并将其用作片段着色器: out vec4 color; void main() { flo
const int width = 4, height = 4;
var alpha = new byte[width * height] {
255, 255, 255, 255,
0, 127, 127, 0,
0, 127, 127, 0,
255, 255, 255, 255
};
我想将其加载到OpenGl中,并将其用作片段着色器:
out vec4 color;
void main() {
float alpha = // Get pixel alpha like texture()
color = vec4(1, 0, 0, alpha);
}
我知道可以使用RGBA位图纹理,但是否可以仅使用Alpha通道位图纹理?(根据最简单的
字节[]
类型)您不需要使用alpha通道位图,您可以使用1通道位图纹理,如下所示:
glTexImage2D(GL_纹理,0,GL_红色,宽度,高度,0,GL_红色,GL_无符号字节,字节缓冲)代码>
这里使用的是GL_RED
我们是说我们只想要一个带有一个通道(红色)的纹理
因此,在片段着色器中,您可以执行以下操作:
float alpha=纹理(…).r代码>非常感谢!我正在尝试,不用担心!如果您需要进一步解释,请告诉我。@Rabbid76是的,我已更正,我对答案做了必要的更改。谢谢