opengl - GL_ALPHA、GL_LUMINANCE

标签 opengl textures formats

我正在尝试绑定(bind)要解释为 Alpha、亮度或强度的纹理。我正在使用 OpenGL 4.0。我可以毫无问题地将它们绑定(bind)为 GL_RED OK,即:

glTexImage2D(   GL_TEXTURE_2D,
                i,
                GL_RED,
                mipSizeX,
                mipSizeY,
                0,
                GL_RED, 
                GL_UNSIGNED_BYTE, 
                nullptr);

但是,每当我尝试绑定(bind)为 GL_ALPHA、GL_LUMINANCE 或 GL_INTENSITY 时,我都会收到错误 1280。这些格式是否已被 GL 4.0 弃用,或者我做错了什么?例如。这失败了:
glTexImage2D(   GL_TEXTURE_2D,
                i,
                GL_ALPHA8
                mipSizeX,
                mipSizeY,
                0,
                GL_ALPHA, 
                GL_UNSIGNED_BYTE, 
                nullptr);

编辑:好的,因为这些格式已被弃用,this page包含显示实际有效格式的表格。

最佳答案

Are those formats deprecated with GL 4.0



是的,他们是。

关于opengl - GL_ALPHA、GL_LUMINANCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618343/

相关文章:

c++ - Mac 上的 OpenGL GLSL 着色器无法编译

c++ - OpenGL 从深度缓冲区计算法线和 TBN 矩阵(SSAO 实现)

html - 如何在数据库列中存储 HTML 的最佳实践

java - 调用 glTexImage2D 清除数据缓冲区

multithreading - 多线程 X11 应用程序和 OpenGL

directx - 球体纹理映射错误

c++ - OpenGL - 不显示简单的 2D 纹理

c++ - OpenGL 单 channel 到多 channel 的可行性

php - 如何在php中将所有音频格式转换为mp3?