[OpenGL]课后案例16:带纹理立方体的旋转程序

本文介绍了一个使用OpenGL实现的带纹理立方体旋转程序。通过顶点坐标、颜色和纹理坐标定义立方体,使用glRotatef进行旋转,并处理鼠标点击事件改变旋转轴。同时,程序加载64x64像素的纹理并应用到立方体表面。
摘要由CSDN通过智能技术生成
//A.16  带纹理立方体的旋转程序
#include <stdlib.h>
#include <GL/glut.h> 
GLfloat planes[]= {-1.0, 0.0, 1.0, 0.0};
GLfloat planet[]= {0.0, -1.0,  0.0, 1.0};
GLfloat vertices[][3] = {
  {-1.0,-1.0,-1.0}, {1.0,-1.0,-1.0},
{1.0,1.0,-1.0}, {-1.0,1.0,-1.0}, {-1.0,-1.0,1.0}, 
{1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}};
GLfloat colors[][4] = {
  {0.0,0.0,0.0,0.5}, {1.0,0.0,0.0,0.5},
{1.0,1.0,0.0,0.5}, {0.0,1.0,0.0,0.5},  {0.0,0.0,1.0,0.5}, 
{1.0,0.0,1.0,0.5}, {1.0,1.0,1.0,0.5},  {0.0,1.0,1.0,0.5}};
void polygon(int a, int b, int c, int d)
{
	glBegin(GL_POLYGON);
	glColor4fv(colors[a]);
	glTexCoord2f(0.0,0.0); 
	glVertex3fv(vertices[a]);
	glColor4fv(colors[b]);
	glTexCoord2f(0.0,1.0);
	glVertex3fv(vertices[b]);
	glColor4fv(colors[c]);
	glTexCoord2f(1.0,1.0); 
	glVertex3fv(vertices[c]);
	glColor4fv(colors[d]);
	glTexCoord2f(1.0,0.0); 
	glVertex3fv(vertices[d]);
	glEnd();
}
void colorcube(void)
{
	/* map vertices to faces */
	polygon(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值