如何在 OpenGL 中将图像转换为灰度图像?
这似乎是一个简单的问题,但我想知道在 OpenGL 中将 RGBA 图像转换为灰度图像而不使用 GLSL 的最快技术。即如何使用以下公式获取 RGBA 纹理并将其转换为普通的单通道纹理: 输出=0.3*红色+0.59*绿色+0.11*蓝色
This might seem like a simple question but Id like to know the fastest technique for converting an RGBA image to a grayscale image in OpenGL WITHOUT using GLSL. I.e. How do I take an RGBA texture and convert it to a plain single channel texture using the following formula:
output=0.3*RED + 0.59*GREEN + 0.11*Blue
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,我不知道“最快”,但您应该能够执行与本教程相反的操作并获得您正在寻找的灰度图像。技术是相同的,只是向后。
http://nehe.gamedev.net/data/lessons/lesson.asp ?课程=37
Well I don't know about "fastest", but you should be able to do the opposite of this tutorial and get the greyscale image you're looking for. The techniques are the same just backwards.
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=37
您也许能够说服
GL_DOT3_RGB
做你想做的事。You might be able to convince
GL_DOT3_RGB
to do what you want.