0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

纹理映射原理的介绍和标准纹理映射等的方程详细概述

Dbwd_Imgtec 来源:未知 作者:易水寒 2018-05-05 11:34 次阅读

为了获得更真实的细节,一张或多张纹理映射将会应用到物体的表面,正如下图所显示的。物体表面上每一点的纹理像素都能在纹理映射中找到,它们遵循光照公式以某种方式与光照结合在一起。在最简单的情况下,一个从漫反射纹理映射得到的样例可以用于调节漫反射的颜色。

让颜色T代表表面上一点对应的纹理映射中的过滤样本。使用这个颜色来调节漫反射颜色将会产生漫反射光照方程的扩展版本:

注:漫反射光照方程为:

正如纹理映射可以用于调节光照方程中的漫反射部分一样,我们也可以使用纹理映射来调节镜面反射。这样的一个纹理有时被称作高光贴图(gloss map),它决定了表面上每一点的镜面光泽程度。使用颜色来表示高光贴图中的一个过滤样本,我们可以这样扩展镜面反射方程:

注:镜面反射光照方程为:

从纹理映射得到的样本真实颜色决定于其对应的物体纹理坐标。纹理坐标要么是预先计算好的,存储在三角形网格的每个顶点中,要么是在运行时计算来产生一些特殊效果。在渲染三角形面片的的时候,纹理坐标使用公式

来进行纹理坐标的插值。对于纹理图的每个顶点而言,可能有1到4个坐标,它们被标记为s,t,p和q。接下来的几个章节将会介绍几种不同的纹理映射,以及每种纹理映射中,我们如何使用纹理坐标在纹理映射中找到对应点。

标准纹理映射

在一,二或三维的纹理映射,我们使用对应的纹理坐标来查找纹理像素。正如下图所显示的,纹理映射的整个宽度,高度以及深度分别对应着s,t以及p方向0到1之间的坐标值。

纹理映射原理的介绍和标准纹理映射等的方程详细资料概述

一个一维的纹理映射可以被看作一个只有单一高度方向像素的二维纹理映射。同样地,一个二维的纹理映射可以被看作是一个只有单一深度方向像素的三维纹理映射。如果t和p坐标没有被特别标注,那么我们就认为它们为0。

投影纹理映射

第四个纹理坐标将在投影纹理映射中使用,它的应用将在这一部分介绍。q坐标值和齐次坐标中的w非常类似,在没有特别说明的情况下,它的值一般是1。坐标s,t,p的值将除以q的坐标值。对于一个两个端点纹理坐标分别为(s1,t1,p1,q1)和(s2,t2,p2,q2)的扫描线,我们可以使用方程

来计算内插值s3和q3,其中含中间参数这两个值的商给出了纹理映射样本中的s坐标:

类似的表达式可计算出投影的t,p的纹理坐标。

一些投影坐标映射是点光源投影周围环境图像的模拟,正如下图所显示的,图像的投影随着与点光源的距离增大而增大。这样的效果是由使用一个4X4的矩阵把物体的顶点位置坐标映射到纹理坐标(s, t, 0, q)上得到的,这样再除以q,就能产生正确的投影图像的2D纹理映射坐标(s,t)。

纹理映射原理的介绍和标准纹理映射等的方程详细资料概述

假设处在P点的点光源朝向为Z。让单位向量S和T处在与向量Z垂直的平面上,让它们与投影纹理图像所处的s,t坐标方向重合。点光源照射的表面上的每个顶点位置(x,y,z,1)首先必须被转换到以点光源为原点的坐标系统中,其中x,y和z坐标对应着S,T和Z向量的方向。使用列为向量S,T,Z和P的矩阵的逆可以实现这一点。如果向量S和T是相互垂直的(i.e.,投影图像不是倾斜的),那么变换可以写作:

注意这个矩阵转换到了左手坐标系,

因为S X T = - Z

现在,我们需要用第二个矩阵来乘以上面这个矩阵,来完成投影。正如我们定义视角平截体的焦距一样,我们以顶端夹角a的形式来定义点光源投影的焦距:

令a为纹理映射的纵横比,这等价于它的高度除以它的宽度。每个顶点位置都需要被投影到与点光源距离为e的平面上,在这里我们想要把x方向处在[-1,1]区间的点映射到[0,1]上,以及把y方向上处在[-a,a]范围的点映射到[0,1]上。这个矩阵

完成了这样的映射,并且在s,t坐标除以q后完成了投影的过程。结合前面给出的两个矩阵(M1M2),我们可以用矩阵M = M2M1来推出投影点光源图像。

立方体纹理映射

另外一种映射物体纹理的方法是通过使用立方体纹理映射完成的。立方体纹理映射经常用于在模型表面近似环境光的反射。如下图,立方体纹理映射包含了六个二维成分,它们分别对应着立方体的六个面。s,t和p坐标表达了从立方体中心发出的指向样本像素的方向向量。

纹理映射原理的介绍和标准纹理映射等的方程详细资料概述

样本对应哪一个面取决于绝对值最大的坐标的符号。另外两个坐标将除以最大的坐标值,然后利用下面这张表重新映射到[0,1]范围内,以产生2D纹理坐标(s',t')。这个坐标将用于对相应的立方体纹理映射面采样二维纹理映射,下图显示了立方体映射坐标和对应的六个面的朝向。

纹理映射原理的介绍和标准纹理映射等的方程详细资料概述

纹理映射原理的介绍和标准纹理映射等的方程详细资料概述

纹理坐标和立方体纹理映射的结合通常是在运行时产生的。例如,环境映射可以通过计算相机方向的反射并把它来存储到三角形网格每个点的(s,t,p)坐标来实现。反射方向的计算一般是在硬件中完成的,所以这可以非常高效的完成。

立方体纹理映射在一些图形硬件中的应用是标准化向量。一个标准化立方体映射,是一个在六个面存储按RGB颜色编码的向量组,而不是存储颜色图像的立方体纹理映射。它存储的向量数组的形式如下:

立方体映射中,存储在每个面像素点的向量,是像素采样的单位长度向量(s,t,p)。标准化立方体映射的使用在执行一些每像素光照时非常合适,因为在三角形表面进行法线插值,可以产生一些长度小于1的法线向量。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 反射
    +关注

    关注

    0

    文章

    67

    浏览量

    15845
  • 纹理映射
    +关注

    关注

    0

    文章

    4

    浏览量

    1754

原文标题:纹理映射原理详解

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    图像纹理的特征与分类

    图像纹理特征总体简述
    发表于 04-30 17:05

    纹理图像的特征是什么?

    纹理图像的特征是什么?指纹图像的特征是什么?
    发表于 06-02 07:05

    讨论纹理分析在图像分类中的重要性及其在深度学习中使用纹理分析

    1、如何在深度学习结构中使用纹理特征  如果图像数据集具有丰富的基于纹理的特征,如果将额外的纹理特征提取技术作为端到端体系结构的一部分,则深度学习技术会更有效。  预训练模型的问题是,由于模型
    发表于 10-26 16:57

    请问旋转在纹理贴图中如何工作?

    你好; 我试着理解 touch gfx watch 应用程序。如果没有任何交互算法,我无法理解压力箭头是如何旋转的。纹理贴图的旋转与orego有关吗?是什么让 2 步前进和 1 步后退,如何在新创建的纹理贴图中实现这一点?
    发表于 01-03 09:05

    实时3D艺术最佳实践-纹理技术解读

    纹理贴图获取2D曲面图像并将其映射到3D多边形上。 本指南涵盖了几种纹理优化,可以帮助您的游戏运行得更流畅、看起来更好。 在本指南的最后,您可以检查您的知识。您将了解有关主题,包括纹理
    发表于 08-02 06:12

    虚幻引擎的纹理最佳实践

    纹理是游戏不可或缺的一部分。 这是一个艺术家可以直接控制的领域,以提高游戏的性能。 本最佳实践指南介绍了几种纹理优化,这些优化可以帮助您的游戏运行得更流畅、看起来更好。 最佳实践系列指南的总体目标
    发表于 08-28 06:39

    基于纹理映射的医学图像三维重建

    提出了一种基于纹理映射的体绘制算法,提高了图像的重建效率,增强了图像的重建效果。算法实现了对二维医学图像序列的三维重建,在目前通用的个人计算机上可以以近似实
    发表于 12-14 11:10 19次下载

    纹理映射算法的改进研究

    文中提出的纹理映射算法是在传统映射算法的基础上做了两点改进,由于传统的映射算法在物体的两极易产生纹理汇聚现象,且有明显接缝,故真实感效果不理
    发表于 12-23 14:27 11次下载
    <b class='flag-5'>纹理</b><b class='flag-5'>映射</b>算法的改进研究

    基于Xilinx Spartan-6 FPGA加速纹理映射的实现

    采用Spartan-6 FPGA加速纹理映射:这种要求严苛的图形流程曾经是定制ASIC内核的应用,而如今却成为低成本FPGA的天下。 作为一种以 FPGA 为构建基础,而非采用专业多媒体片上系统的手持
    发表于 10-08 13:57 4393次阅读

    纹理映射技术中Mip_Map的研究_曾云

    纹理映射技术中Mip_Map的研究_曾云
    发表于 03-15 11:08 0次下载

    利用纹理映射技术实现鱼眼镜头校正研究

    本文详细介绍了采用纹理映射技术实现鱼眼镜头校正的方法。实验表明,该方法不但校正好地完成了镜头的校正,而且大大提高了系统的实时性,解决了传统方法中的几个问题。
    发表于 09-07 20:02 9次下载

    基于纹理几何结构的纹理描述图像分割

    偏置场变分水平集图像分割模型利用原始图像的局部灰度信息,可以对灰度不均匀图像进行有效的分割,但当灰度图像中存在纹理时,分割效果往往很差。针对这一问题,提出抑制纹理信息的偏置场变分水平集图像分割模型
    发表于 11-22 17:29 0次下载
    基于<b class='flag-5'>纹理</b>几何结构的<b class='flag-5'>纹理</b>描述图像分割

    一种实时交互的浮雕纹理模型构建方法

    重建出整体连续的浮雕深度图;第二步,借助基于网格求交的浮雕纹理映射算法将浮雕深度图贴在目标模型表面,并通过移动、旋转、缩放操作实时在目标模型三维空间上修改浮雕效果,最终重建目标模型网格,生成浮雕
    发表于 11-29 16:51 0次下载
    一种实时交互的浮雕<b class='flag-5'>纹理</b>模型构建方法

    详细探讨晶片清洗和纹理的相互作用

    本文将详细探讨清洗和纹理的相互作用,在清洁过程中使用的化学类型对平等有着深远的影响,并在纹理中产生不可预测的影响。
    发表于 04-18 16:35 445次阅读
    <b class='flag-5'>详细</b>探讨晶片清洗和<b class='flag-5'>纹理</b>的相互作用

    Speos Texture可视化纹理如何提升视觉感知

    。视觉外观模拟不仅能在产品研发阶段可视化材料外观,同时能直接反应人眼视觉感受。 Texture Mapping纹理映射是一个允许模拟材质纹理来提高真实感的过程,纹理
    的头像 发表于 05-16 15:52 672次阅读
    Speos Texture可视化<b class='flag-5'>纹理</b>如何提升视觉感知