opengl立方体纹理代码
时间: 2023-12-12 20:00:29 浏览: 96
opengl纹理实例
5星 · 资源好评率100%
下面是一个基本的OpenGL立方体纹理代码示例:
```c
#include <GL/glut.h>
GLuint texture;
void drawCube() {
glBindTexture(GL_TEXTURE_2D, texture);
glBegin(GL_QUADS);
glTexCoord2f(0.0, 0.0);
glVertex3f(-1.0, -1.0, 1.0);
glTexCoord2f(1.0, 0.0);
glVertex3f(1.0, -1.0, 1.0);
glTexCoord2f(1.0, 1.0);
glVertex3f(1.0, 1.0, 1.0);
glTexCoord2f(0.0, 1.0);
glVertex3f(-1.0, 1.0, 1.0);
// Repeat the above for the other 5 faces of the cube
glEnd();
}
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
drawCube();
glutSwapBuffers();
}
int main(int argc, char** argv) {
// 初始化OpenGL
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutCreateWindow("Cube with Texture");
glEnable(GL_TEXTURE_2D);
// 载入纹理
texture = LoadTexture("cube_texture.png");
glutDisplayFunc(display);
glEnable(GL_DEPTH_TEST);
glutMainLoop();
return 0;
}
```
这是一个简单的立方体纹理代码示例,其中使用了OpenGL的基本函数和纹理加载函数LoadTexture,可以在display函数中看到对立方体的纹理绑定和绘制操作。在main函数中,首先初始化了OpenGL并创建了窗口,然后启用了纹理2D功能,并载入了一个名为cube_texture.png的纹理文件。最后进入主渲染循环。整个程序实现了加载纹理并将其应用到立方体上进行渲染的基本功能。
阅读全文