OpenGL函数glTexImage2D参数internalFormat


请看下列OpenGL函数:

   
  void glTexImage2D(  GLenum      target,
  
GLint level,
GLint internalFormat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
const GLvoid * data);

我知道format和type分别指定了纹用于纹理图像的数据的格式和类型,但是参数internalFormat是用来做什么的呢?

还有,看下面的代码:

   
  glTexImage2D(GL_TEXTURE_2D,0,GL_LUMINANCE8,size,size,0,GL_LUMINANCE,GL_UNSIGNED_BYTE,buffer);
 

当我在GLSL shader里面访问这个纹理的时候,貌似访问得到数据是0-1之间的,难道不应该是0-255之间的吗?求解释~

opengl C++

邻人四十二 12 years, 3 months ago

Your Answer