当前位置:  开发笔记 > 编程语言 > 正文

我可以使用带有OpenGL glTexImage2D功能的灰度图像吗?

如何解决《我可以使用带有OpenGLglTexImage2D功能的灰度图像吗?》经验,为你挑选了1个好方法。

我的纹理只有一个通道,因为它是一个灰度图像.当我将像素传递给glTexImage2D时,它会变成红色(显然是因为通道1是红色; RGB).

glTexImage2D(
    GL_TEXTURE_2D, 0, GL_RGBA,
    dicomImage->GetColumns(), dicomImage->GetRows(),
    0, GL_RGBA, GL_UNSIGNED_BYTE, pixelArrayPtr);

我是否更改了GL_RGBA?如果是这样,该怎么办?



1> ypnos..:

将其更改为GL_LUMINANCE.见http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage2d.html


在OpenGL 4.0中不推荐使用.但是OpenGL 4.0没有固定的功能管道,你需要绑定自己的着色器,这就是LUMINANCE,ALPHA等没有用的原因.您需要使用GL_RED并相应地处理单个通道.
看来你的链接坏了.(它重定向到主页).[glTextImage2D](http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml)有效,但在任何地方都没有提到GL_LUMINANCE.它似乎已经过时了...
推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有