加载 TGA 文件并将其与 OpenGL 一起使用
我目前正在尝试使用 C++ 加载标签文件并使用 OpenGL 渲染它。目前颜色都是混合的(红色变成蓝色,绿色变成红色,蓝色变成绿色)。我当前将其放入视频内存的代码是。
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
其中数据是像素数据,其余的都是不言自明的。文件以 24 位格式从 Photoshop 中保存,未压缩保存。
I currently am trying to load a tag file with c++ and rendering it with OpenGL. Currently the colors are all mixed up (red becomes blue, green becomes red, and blue becomes green). My current code for putting it into the video memory is.
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
Where the data is the pixel data and the rest is self explanatory. The files are saved with no compression are in 24 bits saved from photoshop.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的
glTexImage2D
是正确的,所以这不是问题。我确实需要(加载 TGA 文件时)交换颜色分量。试试这个:
Your
glTexImage2D
is correct, so that's not the problem.I do need (when loading TGA files) to swap the color components. Try this:
尝试一下,我遇到了同样的问题,每样东西都是蓝色的,它有纹理图案,只是不是
颜色
TRY This I had The Same Problem Every thing was blue it had the texture pattern just not the
color