- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenGL纹理(经典)
OpenGL纹理
目 录 12.1 基本步骤 12.2 纹理定义 12.3 纹理控制 12.4 映射方式 12.5 纹理坐标
在三维图形中,纹理映射(Texture Mapping)的方法运用得很广,尤其描述具有真实感的物体。比如绘制一面砖墙,就可以用一幅真实的砖墙图像或照片作为纹理贴到一个矩形上,这样,一面逼真的砖墙就画好了。如果不用纹理映射的方法,则墙上的每一块砖都必须作为一个独立的多边形来画。另外,纹理映射能够保证在变换多边形时,多边形上的纹理图案也随之变化。例如,以透视投影方式观察墙面时,离视点远的砖块的尺寸就会缩小,而离视点 较近的就会大些。此外,纹理映射也常常运用在其他一些领域,如飞行仿真中常把一大片植被的图像映射到一些大多边形上用以表示地面,或用大理石、木材、布匹等自然物质的图像作为纹理映射到多边形上表示相应的物体。 纹理映射有许多种情况。例如,任意一块纹理可以映射到平面或曲面上,且对光亮的物体进行纹理映射,其表面可以映射出周围环境的景象;纹理还可按不同的方式映射到曲面上,一是可以直接画上去(或称移画印花法),二是可以调整曲面颜色或把纹理颜色与曲面颜色混合;纹理不仅可以是二维的,也可以是一维或其它维的。 本章将详细介绍OpenGL纹理映射有关的内容:基本步骤、纹理定义、纹理控制、映射方式和纹理坐标等。12.1 基本步骤 纹理映射是一个相当复杂的过程,这节只简单地叙述一下最基本的执行纹理映射所需的步骤。基本步骤如下: 1)定义纹理、2)控制滤波、3)说明映射方式、4)绘制场景,给出顶点的纹理坐标和几何坐标。 注意:纹理映射只能在RGBA方式下执行,不能运用于颜色表方式。下面举出一个最简单的纹理映射应用例子: 例12-1 简单纹理映射应用例程(texsmpl.c)
#include glos.h
#include GL/gl.h
#include GL/glu.h
#include GL/glaux.h
?
void myinit(void);
void makeImage(void);
void CALLBACK myReshape(GLsizei w, GLsizei h);
void CALLBACK display(void);
?
/* 创建纹理 */
#define ImageWidth 64
#define ImageHeight 64
GLubyte Image[ImageWidth][ImageHeight][3];
?
void makeImage(void)
{
int i, j, r,g,b;
?
for (i = 0; i ImageWidth; i++)
{
for (j = 0; j ImageHeight; j++)
{
r=(i*j)%255;
g=(4*i)%255;
b=(4*j)%255;
Image[i][j][0] = (GLubyte) r;
Image[i][j][1] = (GLubyte) g;
Image[i][j][2] = (GLubyte) b;
}
}
}
?
void myinit(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
?
makeImage();
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
?
/* 定义纹理 */
glTexImage2D(GL_TEXTURE_2D, 0, 3, ImageWidth,
ImageHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, Image[0][0][0]);
?
/* 控制滤波 */
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
?
/* 说明映射方式*/
glTexEnvf(GL_TEXTURE_ENV,
您可能关注的文档
- FANUC教案.doc
- CAD高版本出工程图详解.docx
- LTCC生产方案工艺和概述部分.doc
- LFA比热测试与导热系数计算.doc
- LTE的几种消息.docx
- MAPGIS实用技巧.doc
- Matlab学习系列32秩和比综合评价法.docx
- HDBASET等HDMI单网线传输器.doc
- LTE负载均衡.docx
- MSDS氩气.doc
- 2024-2025学年小学科学苏教版(2017)三年级上册教学设计合集.docx
- 2024-2025学年小学科学苏教版(2001)三年级上册教学设计合集.docx
- 2025年学生法制教育的演讲稿(30篇).docx
- 2024-2025学年小学科学首师大版(2019)五年级下册教学设计合集.docx
- 2024-2025学年小学科学苏教版(2001)三年级下册教学设计合集.docx
- 2024-2025学年小学科学苏教版(2017)四年级上册教学设计合集.docx
- 2024-2025学年小学科学苏教版(2017)一年级上册教学设计合集.docx
- 护士实习总结100字(模板5篇).docx
- 光伏组件智能制造基地项目规划设计(参考范文).docx
- 2024-2025学年小学科学湘科版(2001)六年级上册教学设计合集.docx
最近下载
- 年产8万吨聚甲醛工艺的初步设计.docx
- 3D3S 基本操作手册.pdf
- 2019新疆生产建设兵团中考化学真题.doc VIP
- 8.铁路工程预算定额 路基工程宣贯讲义.ppt
- 房地产市场报告 -天朗2024年报【在时代洪流的弄潮中 尽显从容-把脉逆周期调解下大的北京房地产市场】.docx
- 【人教部编版】二年级上册语文课件:4《田家四季歌》第一课时(共27张PPT).pptx
- 年产25万吨合成氨合成工段工艺设计.docx
- 2023徐州市八年级下册期末物理试卷含答案 .pdf
- 毕业设计(论文)-反铲式挖掘机工作装置结构设计.doc
- 工程训练(广东工业大学)智慧树知到期末考试答案章节答案2024年广东工业大学.docx
文档评论(0)