本文介绍了我可以在 OpenGL glTexImage2D 函数中使用灰度图像吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个只有 1 个通道的纹理,因为它是一个灰度图像.当我将像素传递给 glTexImage2D 时,它显示为红色(显然是因为通道 1 是红色;RGB).
I have a texture which has only 1 channel as it's a grayscale image. When I pass the pixels in to glTexImage2D, it comes out red (obviously because channel 1 is red; RGB).
glTexImage2D(
GL_TEXTURE_2D, 0, GL_RGBA,
dicomImage->GetColumns(), dicomImage->GetRows(),
0, GL_RGBA, GL_UNSIGNED_BYTE, pixelArrayPtr);
我要更改 GL_RGBA 吗?如果是,该怎么办?
Do I change GL_RGBA? If so, what to?
推荐答案
将其更改为 GL_LUMINANCE.请参阅 https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexImage2D.xhtml
Change it to GL_LUMINANCE. See https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexImage2D.xhtml
这篇关于我可以在 OpenGL glTexImage2D 函数中使用灰度图像吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!