0

我试图弄清楚如何删除我正在渲染的图片的所有绿色像素。我已经在网上搜索过,但没有找到我可以使用的东西。

我知道我可能必须使用这个功能:

        gl.glEnable(GL10.GL_BLEND);
    gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);

如果我是对的,如何将颜色更改为绿色?

谢谢你的帮助。

4

1 回答 1

0

你的意思是你有一个纹理,它有绿色像素,应该是透明的?(对此的搜索词可能是“色度键”)

如果是这样,那么在 OpenGL 中启用此功能并非易事。你有两个选择:

  • 预处理图像以将所有绿色像素转换为 ALPHA=0 像素,然后启用 alpha 测试。
  • 编写一个自定义片段着色器,拒绝某种颜色的片段。
于 2012-04-09T20:25:37.413 回答