OpenGL立方体贴图

该博客详细探讨了OpenGL中的立方体贴图技术,如何利用它实现立体渲染。内容覆盖了立方体贴图的六个面,包括back、bottom、front、left、right和top,深入解析了图形学中的扩展和交易处理,特别提到了与Microsoft图形平台的交互。
摘要由CSDN通过智能技术生成
OpenGL 立方贴图
Copyright NVIDIA Corporation, 1999.
Commercial publication in written, electronic, or other forms without expressed written permission is prohibited.
Electronic redistribution for educational or private use is permitted.
摘要
本网络教程解释了硬件立方贴图的目的。立方贴图可以用于环境贴图( environment mapping)、高光曲线区(stable specular highlights)以及逐像素光照效果的凹凸贴图(bump map)。编程人员可以下载实例代码,了解OpenGL EXT_texture_cube_map扩展。
介绍
如今,硬件加速的纹理贴图已经非常普及。曾经只在那些高端的工作站和飞行模拟中才有的,如今成为了普通 PC机和家用视频游戏的一个标准特征。原理很简单,一个2D图像(纹理)上的一些点被附着到3D模型的顶点上,当渲染3D模型时,纹理图像%26ldquo;壁纸%26rdquo;一样贴在3D几何模型上,当对3D模型进行动画或改变形状时,纹理图%26ldquo;粘%26rdquo;住模型,下面是一个例子:
写着%26ldquo; GeForce%26rdquo;的纹理被%26ldquo;包在%26rdquo;一个轮胎上(或者称之为%26ldquo;油炸饼%26rdquo;)。我们也可以使用其他不同的纹理使得轮胎呈现%26ldquo;木头%26rdquo;的样子。我们可以将任何的纹理作用于任何的几何形状。
通常的纹理映射几乎可以又在所有的 3D游戏中,但是它并不适合所有的情况,考虑一个像%26ldquo;银色烛台%26rdquo;这样一个物体,闪亮的表面反射环境光。由于表面是反射性的,没有一个纹理可以贴在这样的表面上。如果烛台或者视点位置移动,烛台上的反射也将改变位置。因此不能使烛台顶点和纹理图上固定的2D位置匹配,而是应该将反射性的纹理以合适的方向映射到物体表面。
不幸的是,通常的硬件纹理映射方法并不适合这种情况,因此不使用 2D纹理和表面位置进行映射,而是真正将表面位置在360度方向进行映射。(水平有限,很吃力!)
观察你的周围,仅仅旋转头部和眼睛,你能看到全部的方向,环境可以被理解为以头部为中心的全方位图。这和你观察 2D图像上的位置(X,Y)是根本不同的。如果你的环境能够被编码为一个纹理图,那么它能够通过一个3D的方向而不是2D位置进行访问。
使用立方贴图对环境进行编码
立方贴图是纹理贴图的一种形式,它使用一个 3D的向量(即方向)来对应一个纹理,6个方形的2D纹理组成了立方体的6个面。现在请再次考虑你的周围环境,你可以站在一个位置,并 %26ldquo;捕获%26rdquo;360度视角(每转90度拍下6张照片),下图为6张捕获的室外场景:

back bottom
front left
right top

<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值