我需要在某些颜色透明的情况下进行OpenGL纹理处理

时间:2011-05-17 07:31:15

标签: opengl

不过,我正在使用OpenGL 1.x;  我可以在OpenGL中使用24位targa图像进行blit。假设我有一个带有怪物的targa文件。 它的背景是蓝色的。我怎么能说出这个蓝色信息?

另一种选择:我知道NeHe教程中的第32课使用了32位targa,是的,我可以在我的应用程序中显示它。这里出现了一个新问题:如何在某些区域透明的情况下创建32位TGA。我不明白NeHe的解释。

这是我在photoshop中无法使用的方式:

  1. 创建一个新文件,放入 背景层进入垃圾桶 创建一个透明层。
  2. 创建选择 透明层并填充它 一些纯色,比方说,红色。
  3. 将文件另存为32位TGA和 我的OpenGL应用程序中的blit。
  4. 令我沮丧的是,我认为应该透明的地区现在是纯白色的...... (图像加载方法没有问题,因为它可以加载一些其他好的32位targas)

1 个答案:

答案 0 :(得分:1)

您正在考虑使用颜色键控。但你应该使用的是alpha通道。这是一个额外的渠道,不是颜色,而是不透明的价值。在Photoshop中你可以通过 NOT 用透明的部分填充任何内容来获得它。