本文介绍了我可以在 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 函数中使用灰度图像吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-27 11:14