【发布时间】:2016-05-14 14:05:35
【问题描述】:
我在 OpenGL 中对一个 2D 对象进行纹理处理,虽然我可以很好地加载纹理,但我只是不太确定如何反转颜色。如何访问位图的颜色信息并将其反转?这在着色器或主程序中会做得最好吗?
我将保持这种开放状态,因为我不是在寻找“修复我的代码”类型的答案,而是“这是您访问位图颜色信息的方式”。
【问题讨论】:
-
openGL 中的纹理格式是具有 RGBRGB 或 RGBARGBA 模式的简单 C 数组,因此,一旦加载它 - 通过还原公式更改它。另一件事 - 你可以在着色器中计算它,但它会更昂贵。
-
你可以先上传一个倒置的纹理,或者让你的片段着色器在读取它时将其倒置。
-
我建议您开始学习 OpenGL Core Profile。特别是,这在片段着色器中是微不足道的。
-
“反转”到底是什么意思?
标签: c++ visual-studio opengl colors textures