我有一个只有1个 channel 的纹理,因为它是灰度图像。当我将像素传递到glTexImage2D时,它会变成红色(显然是因为 channel 1是红色; RGB)。
glTexImage2D(
GL_TEXTURE_2D, 0, GL_RGBA,
dicomImage->GetColumns(), dicomImage->GetRows(),
0, GL_RGBA, GL_UNSIGNED_BYTE, pixelArrayPtr);
我要更换GL_RGBA吗?如果是这样,该怎么办?
最佳答案
将其更改为GL_LUMINANCE。参见https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexImage2D.xhtml