- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正六面体贴图正六面体贴图
目 录
【设计题目及说明】 2
设计需求 2
设计分析 3
【程序代码】 3
【程序流程图】 9
【参考文献】 12
【设计题目及说明】
设计需求
以3维坐标xyz的原点为正方形体体心绘制一个正方体,任选六张图片,将图片作为纹理贴图映射到旋转的立方体的6个表面上。我选用的图片是一下6个图:
实现的效果图:
具体说明:
导入6张图片,分别读取图片的信息,作为正方体表面的纹理。
将每张图片绑定在正方体表面上,以图片每个像素的颜色填充正方体表面。
使用键盘:“1”暂停正方体旋转,“2”开始旋转,“esc”退出播放。
位图图片存放在data文件夹中。
运行环境需安装opengl库函数。
开发工具:visual C++ 6.0。
设计分析
本次设计的目的是对正六面体进行纹理映射,使用六张不同的图片作为纹理,分别映射到六面体的六个面上。
设计步骤:
创建纹理对象并指定纹理。
指定纹理应用。
启用纹理。
指定纹理坐标。
纹理映射需要建立纹理(u,v)与物体空间坐标(x,y,z的映射关系,也就是把物体空间的x,y,z和,u,v建立等式关系。
【程序代码】
#include windows.h
#include gl\GL.h
#include gl\GLU.h
#include gl\GLAux.h
#include stdio.h
#include gl\glut.h
#pragma comment (lib,glaux)
GLfloat xrot=0;
GLfloat yrot=0;
GLfloat zrot=0;
GLuint texture[6];
bool flag = true;
void Reshape(int w, int h)
{
glViewport(0,0,w,h); // 重置当前的视口
glMatrixMode(GL_PROJECTION);
glLoadIdentity( );
gluPerspective(45.0f, (GLfloat)w/(GLfloat)h, 0.1f, 100.0f); //// 设置视口的大小
glMatrixMode(GL_MODELVIEW);
glLoadIdentity( );
}
//获得位图
AUX_RGBImageRec *LoadBMP(char *Filename)
{
FILE *File=NULL;
if (!Filename)
{
return NULL;
}
File=fopen(Filename,r);
if (File)
{
fclose(File);
return auxDIBImageLoad(Filename);
}
return NULL;
}
// 位图转换成纹理
int LoadGLTextures()
{
int Status=FALSE;
AUX_RGBImageRec *TextureImage[6];
memset(TextureImage,0,sizeof(AUX_RGBImageRec *)*6);
if ((TextureImage[0] = LoadBMP(data/image1.bmp))(TextureImage[1] = LoadBMP(data/image2.bmp))
(TextureImage[2] = LoadBMP(data/image3.bmp))(TextureImage[3] = LoadBMP(data/image4.bmp))
(TextureImage[4] = LoadBMP(data/image5.bmp))(TextureImage[5] = LoadBMP(data/image6.bmp)))
{
Status=TRUE;
glGenTextures(6, texture[0]); // 创建纹理
for (int i=0; i6; i++)
{
glBindTexture(GL_TEXTURE_2D, texture[i]);
glTexImage2D(GL_TEXTURE_2D, 0,
您可能关注的文档
- 欧美姓氏大全.doc
- 欧美日标准化战略分析.doc
- 欧美玩具标准答疑.doc
- 欧3发动机培训教材.doc
- 欧美电影欣赏论文.doc
- 欧美十大婚礼电影.docx
- 欧亚汽修软件使用说明书.doc
- 欧美的经典歌曲.doc
- 欧美复习提纲(上).doc
- 欧舍会所项目策划书.doc
- 碟形卫星天线的安装和修理行业投资机会分析与策略研究报告.docx
- 电子照明设备的修理或维护行业发展方向及匹配能力建设研究报告.docx
- 定制生产面包行业市场需求分析及未来五至十年行业预测报告.docx
- 碟形卫星天线的安装和修理行业商业机会挖掘与战略布局策略研究报告.docx
- 电子支票承兑服务相关行业项目操作方案.docx
- 定制生产小船行业分析及未来五至十年行业发展报告.docx
- 电子证券交易服务行业竞争格局与投资战略研究咨询报告.docx
- 定制生产人用膳食补充剂行业技术趋势分析.docx
- 碟形卫星天线的安装和修理行业竞争格局及投资价值分析报告.docx
- 碟形卫星天线的安装和修理行业三年发展洞察报告.docx
最近下载
- 预备党员考察登记表---预备党员考察登记表.doc VIP
- DB37_T 2671-2019教育机构能源消耗定额标准.pdf
- 小学一年级语文上册期末试卷人教版.doc VIP
- 新劳务外包协议合同模板(2024版).docx VIP
- 小学教师发展总结PPT.pptx
- 广东省深圳市2022-2023学年七年级下学期语文期中联考试卷(含答案).pdf VIP
- 用短除法求最小公倍数和最大公因数ppt课件[共22页].ppt VIP
- 2022年四川省宜宾五粮液酒厂校园招聘考试试题及答案解析.docx
- 零食行业:扬帆逐浪,开启零食行业的全渠道战略.pdf VIP
- 中职数学51角的概念的推广.pptx VIP
文档评论(0)