【发布时间】:2012-04-02 16:08:35
【问题描述】:
我正在用 C++ 编写一个光线投射器,它将其结果输出到常规图像文件。现在,我想将内部 RGBA 表示(4 个整数)渲染到 GLUT 提供的 OpenGL 窗口。
我已经知道我必须使用 glTexImage2D 来生成一个纹理,将该纹理分配给一个四边形,然后将这个四边形渲染到相机的正前方。
http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml
我遇到的问题是我不知道我应该如何将数据呈现给 glTexImage2D 函数:如何构造这个包含我的数据的 gluByte 数据块,来自一个简单的 4 整数 RGBA 表示?
【问题讨论】:
-
为了记录,我最终这样做了:
unsigned char* data = (data goes here in array);glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,width,height,0,GL_RGBA,GL_UNSIGNED_BYTE,data);