- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]chp10_光照、材质、纹理
1.2 光照模型 1970年,Bouknight提出第一个光反射模型:Lambert漫反射+环境光 1971年,Gouraud提出漫反射模型加插值的思想 1975年,Phong提出图形学中第一个有影响的光照明模型 Gouraud双线性光强插值 Gouraud于1971年提出,又被称为 Gouraud明暗处理 计算多边形各顶点的光强, 再用双线性插值, 求出多边形内部各点的光强 纹理映射 将纹理模式映射到物体模型表面,模拟物体表面细节和光照,称为纹理映射(Texture Mapping) 纹理空间 纹理一般定义在单位正方形域0?s?1,0?t?1上,称为纹理空间 纹理映射 纹理模式 纹理数组 定义一个二维数组代表一个用于光栅图形显示的图形、位图或图像。 2.1 OpenGL的纹理映射过程 定义纹理 指定纹理的应用方式 激活纹理映射 指定纹理坐标和几何坐标,绘制场景 2.1 定义纹理 纹理可以是一维、二维或三维的; 每个纹素的数据格式(由1至4个数值组成) 颜色索引值 GL_COLOR_INDEX RGB值 GL_RGB RGBA值 GL_RGBA R值 GL_RED G值 GL_GREEN B值 GL_BLUE Alpha值 GL_ALPHA 光照强度值 GL_LUMINANCE 光强Alpha值 GL_LUMINANCE_ALPHA glTexImage1D()函数参数说明 target 必须设置为GL_TEXTURE_1D level 是使用多重纹理映射时的分辨率级数,若只有一个分辨率,该值为0 internalFormat 表明纹理映射方式,取值为1~4之间的整数值,或者是38个符号常量之一。 width 给定纹理尺寸,必须是2的幂次方2m(m为非负整数,如果有边界width 为2m+b ) border指定边界宽度b(为0或1) format 指定纹理的数据格式(如前,纹素的数据格式) type 指定纹理的数据类型 pixel为纹理图像数组的指针,指定纹理图像及其边界 指定二维纹理 使用glTexImage2D()函数定义二维纹理 函数原型 void glTexImage2D( GLenum target, GLint internalFormat, GLsizei width, GLsizei heigth, GLint border, GLenum format, GLenum type, const GLvoid *pixel) 参数说明 target 必须设置为GL_TEXTURE_2D width和 heigth 给定二维纹理的尺寸,必须为2m+2b( width和 heigth 可分别对应不同的m值) width和 heigth为0,纹理映射无效 2.2 创建纹理 纹理的创建 1)直接创建法 利用函数直接设置各像素点的RGB值 只能生成简单的有一定规律的纹理图像, 2)从帧缓存中读取 将纹理从当前GL_READ_BUFFER中读出来,并将像素放入纹理内存 调用函数glCopyTexImage1D()、 glCopyTexImage2D() 纹理的创建 3) 读取外部文件 根据外部图像文件的具体格式,编写函数将纹理图像读入内存; 非bmp和rgb格式的图像文件,必须采用这种方式读入; 要求对图像文件的格式非常了解。 纹理的创建 OpenGL调用库函数读取外部文件 OpenGL提供函数auxDIBImageLoad()函数读取纹理图像 (需include GL/glaux.h) 函数原型 AUX_RGBImageRec auxDIBImageLoad (LPCTSTR filename); 参数说明 filename是纹理图像文件的名称。 该函数可以读取bmp和rgb两种格式的文件。 AUX_RGBImageRec是一个定义纹理数据的结构,其中最主要的三个域是SizeX、SizeY和Data, SizeX和SizeY是纹理的宽和高,Data存储具体的纹理数据。 2.3 指定纹理映射方式 纹理映射方式 替换GL_REPLACE 将纹理作为不透明图像覆盖到片段 贴花 GL_DECAL 仅用于RGB和RGBA两种内部格式,片段和纹理颜色混合的比例由纹理的Alpha值确定 调整GL_MODULATE 用纹理图像的颜色调整片段的颜色和或颜色比例,综合光照和纹理的效果 融合GL_BLEND 使用指定的颜色,响应光照条件 2.3 指定纹理映射方式 设置纹理映射方式 使用glTexEnv*()函数中的变量设置映射方式 函数原型 void g
您可能关注的文档
最近下载
- 中医外科学期末复习.pdf VIP
- 生产车间划线标识执行规范.pdf VIP
- EDA软件:Cadence Allegro二次开发_ CadenceAllegro数据库操作.docx VIP
- 物性表_威格斯 PEEK VICTREX® PEEK 450G.pdf VIP
- 让我们一起去追“星”!——两弹一星之核弹老人魏世杰 课件--2023-2024学年高二下学期爱国主义教育主题班会 (1).pptx VIP
- (2025秋新版)部编版二年级语文上册全册教学设计.pdf
- 《领导力》培训课件ppt.pptx VIP
- 运输车队长绩效考核表.xlsx VIP
- 驾校一点通摩托车科目一题库400题讲解 .pdf
- 印尼二手车市场研究及业务建议.pdf VIP
文档评论(0)