CN103080981B - 选择纹理映射水平的方法及利用该方法的材质贴图系统 - Google Patents
选择纹理映射水平的方法及利用该方法的材质贴图系统 Download PDFInfo
- Publication number
- CN103080981B CN103080981B CN201080068772.9A CN201080068772A CN103080981B CN 103080981 B CN103080981 B CN 103080981B CN 201080068772 A CN201080068772 A CN 201080068772A CN 103080981 B CN103080981 B CN 103080981B
- Authority
- CN
- China
- Prior art keywords
- texture
- size
- mip
- mutton
- leg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
一种基于材质贴图用于全局光照的选择纹理映射水平的方法。该选择纹理映射水平的方法确定屏幕上的至少一个对象的对象信息。该对象信息可以包括数量、形状、以及屏幕上对象的组成和/或屏幕上相关对象的空间位置。基于该对象信息,确定选择纹理映射的算法。该选择纹理映射的算法包括光线追踪和/或距离测量,其中光线追踪基于相邻光线的微分值选择纹理映射,以及距离测量通过计算距离选择纹理映射,其中,像素和纹理的比例达到1:1。基于确定的方法,选择纹理映射水平。
Description
技术领域
本发明涉及一种选择纹理映射水平的方法及一种利用该方法的材质贴图系统,尤其涉及一种选择纹理图像的纹理映射水平的方法和一种利用该方法的材质贴图系统。
背景技术
在计算机图形领域,材质贴图是一种用于在虚拟三维对象的表面上绘制详细的纹理或喷绘颜色的方案。在材质贴图中,通过利用多种方法,数学方程式或二维图片可绘制在一个三维对象的表面上,以至于该数学方程或二维图片看起来像一个真实的对象一样。
纹理映射是用于提高三维图形的材质贴图领域的绘制速度,且由基本纹理和从该基本纹理连续减少的纹理构成。
发明内容
在实施例中,一种用于基于材质贴图的全局光照的选择纹理映射水平的方法。在该选择纹理映射水平的方法中,识别屏幕中的至少一个对象的对象信息。该对象信息可包括至少一个对象的数量、该至少一个对象的形状、屏幕中该至少一个对象的材质和/或屏幕空间中相关对象的位置。纹理映射水平选择算法是基于该对象信息而确定的。该纹理映射水平选择算法可包括微分方法和/或距离测量方法,该微分方法可基于相邻光线的微分值选择纹理映射,以及距离测量方法通过计算距离选择纹理映射,其中,设定像素和纹理的比例为1:1。基于确定的方法选择纹理映射水平。在一个实施例中,确定提供图像的图像质量和/或处理速度的需求。纹理映射水平选择算法可以基于该确定的结果而确定。例如,由于该确定的结果,当相应图像的图像质量的需求水平变高,微分方法可选择用来作为纹理映射水平选择算法。作为另一个例子,当由于确定的结果,相应图像的处理速度的需求水平变高,距离测量方法可选择用来作为纹理映射水平选择算法。在一个实施例中,选择纹理映射水平的方法包括基于纹理的大小和屏幕的大小而计算纹理的像素的大小,基于对应于三角形纹理的三个顶点的纹理坐标而计算包含在三角形中的纹理的数量,基于计算出的像素大小和计算出的纹理数量来计算三角形的大小,基于对应给定的三角形的三个顶点的模型坐标,来计算给定的三角形的大小,以及基于两个计算出的三角形的大小的值,来计算距离,其中,像素和纹理的比例设定为1:1。
在实施例中,利用选择纹理映射水平方法的材质贴图系统包括对象信息存储单元、对象信息识别单元、算法确定单元、距离测量方法操作单元以及纹理映射水平选择单元。该对象信息存储单元存储显示在屏幕中的对象的对象信息。该对象信息可包括屏幕中呈现的对象的数量、对象的形状和材质和/或出现在屏幕的空间中相关对象的位置。该物理信息识别单元从所述对象信息存储单元获取将要显示在屏幕中的目标对象的对象信息和识别获取的对象。该算法确定单元分析从所述对象信息识别单元获取的对象信息和基于分析出的对象信息确定选择纹理映射水平的算法。该距离测量方法操作单元接收来自所述对象信息识别单元的目标对象的对象信息和根据该算法确定单元确定的结果计算距离,其中,像素和纹理的比例为1:1。该纹理映射水平选择单元基于所述距离测量方法操作单元计算出的距离选择纹理映射水平。在一个实施例中,该距离测量方法操作单元可基于纹理的大小和屏幕的大小来计算纹理的像素的大小,基于对应于三角形纹理的三个顶点的纹理坐标而计算包含在三角形中的纹理数量,基于计算出的像素大小和计算出的纹理数量来计算三角形的大小,基于对应给定的三角形的三个顶点的模型的坐标,来计算给定的三角形的大小,以及基于两个计算出的三角形的大小的值,来计算距离,其中,像素和纹理的比例设定为1:1。该纹理三角形能包括形成该纹理的单个三角形和包括二维坐标的纹理坐标。在一个实施例中,利用选择纹理映射水平的方法的该材质贴图系统进一步包括微分方法操作单元,用于从所述对象信息识别单元接收目标对象的对象信息以及根据算法确定单元的确定结果计算光线的微分值,其中,纹理映射水平选择单元可基于由微分方法操作单元计算出的微分值选择纹理映射水平。
在实施例中,利用选择纹理映射水平的方法的材质贴图系统包括预处理单元、三角形信息存储单元、相对距离获取单元、光线信息存储单元、最终距离计算单元以及纹理映射水平选择单元。该预处理单元借助距离测量方法计算相对距离,其中,像素和纹理的比例为1:1。该三角形信息存储单元映射原始三角形到由该预处理单元计算出的相对距离的信息并存储该映射信息和相对距离。该相对距离获取单元从三角形信息存储单元接收纹理转换的原始三角形的数量和对应于相应的数量获取原始三角形的相对距离。该光线信息存储单元累积和存储光线距离信息。该最终距离计算单元计算出一段到三角形的距离,而且受到从出发点发出的当前的射线和已经积累和存储在所述光线信息存储单元中的距离的影响。该纹理映射水平选择单元基于由最终距离计算单元计算出的距离选择纹理映射水平。在一个实施例中,预处理单元基于纹理大小和屏幕大小计算对应于纹理的像素的大小,基于对应于纹理三角形的三个顶点的纹理坐标而计算包含在三角形中的纹理数量,基于计算出的像素大小和计算出的纹理数量来计算三角形的大小,基于对应给定的三角形的三个顶点的模型坐标,来计算给定三角形的大小,以及基于两个计算出的三角形的大小的值,来计算距离,其中,像素和纹理的比例设定为1:1。纹理三角形可包括形成纹理的单个三角形,以及包含二维坐标的纹理坐标。在一个实施例中,利用选择纹理映射水平的方法的材质贴图系统可以进一步包括存储纹理信息的纹理信息存储单元、用于从该纹理信息存储单元接收纹理识别符和获取对应于该纹理识别符的纹理信息的纹理信息获取单元、以及从该纹理信息获取单元获取的纹理映射到对应的原始对象的过滤单元。
附图说明
图1为本发明中利用选择纹理映射水平的方法的材质贴图系统的一个实施例的方框图。
图2为由图1的材质贴图系统所执行的一种选择纹理映射水平的方法的流程图。
图3为阐释图2中的作为微分方法的基础的光线追踪方法和距离测量方法的原理的示意图。
图4为阐释图2的微分方法的流程图。
图5为阐释图2中的距离测量方法的原理的示意图。
图6为阐释图2中的距离测量方法的流程图。
图7为利用本发明的选择贴图水平的方法的材质贴图系统的另一个实施例的方框图。
图8为阐释图7中的过滤单元的材质贴图的示意图。
图9为本发明一种选择纹理映射水平方法所运用的实验模型的例子的示意图。
图10为图9中每个图像的纹理映射水平的所显示测量的选择比例的图表。
图11为测量图9中的每个图像的缓存大小的缓存错失率的图表。
图12为测量图9中的每个图像的块大小的缓存错失率的图表。
图13为测量图9中的每个图像的缓存和块的大小相结合的缓存错失率的图表。
具体实施方式
本发明技术的描述仅仅是结构和/或功能描述的实施例。本发明技术的范围不应该被认为局限于下面的实施例。也就是说,具体实施例可作出各种形式的变化,以及本发明技术的范围应该理解为包括可实现本技术实质的等同方式。
同时,本申请中描述的术语的意义应该按如下理解。
术语,例如“第一”和“第二”,用于区分一个元件和另一个元件,本发明技术的范围不应该受这些术语的约束。例如,第一元件可以称为第二元件。类似的,第二元件可以称为第一元件。
术语“和/或”应该理解为包括所有组合,可以为一个或多个相关项目。例如,“第一项目、第二项目和/或第三项目”意思是“第一项目、第二项目和第三项目中的至少一个”,以及意味着所有项目的组合,这不仅可以是第一项目、第二项目或第三项目中的两个或者多个,而且可以是第一项目、第二项目及第三项目。
当一个元件被描述为“连接着”另一个元件,该一个元件可以直接与该另一个元件连接,但应该理解的是可能有第三个元件插入这两个元件之间。相反的,当一个元件被描述为与另一个元件“直接连接”,应该理解没有第三个元件插入这两个元件之间。同时,相同的原理可运用到其它表述中,例如描述元件之间的关系的“~之间”和“仅~之间”或“与~相邻”和“仅与~相邻”。
单数的表达应该理解为包括复数的表达,除非在文中明确地表述了。术语,例如“包括”或“具有”应该理解为指示所存在的一组特性、数量、步骤、操作、元件、部件或它们的组合,不排除所存在的一个或多个其它特性、数量、步骤、操作、元件、部件或它们的组合或它们之外的可能。
在每一个步骤中,符号(例如a,b和c)用于描述的方便,以及这些符号并不描述步骤的顺序。这些步骤可以按照不同于文中描述的顺序执行,除非文中描述了特定的顺序。也就是说,这些步骤可以按照描述的顺序执行,可以连续地同时执行,或以相反的顺序执行。
以下用到的术语,除非有相反的定义,具有本领域普通技术人员常见理解的相同意义。总的来说,术语,例如词典中定义的,应该解释为与相关技术的文件中的术语具有相同的意义,并且不应该解释为具有想象的或过度形式上的意义,除非本申请中有清楚的定义。
光线追踪方法,也就是,通过图形处理器选择材质贴图的纹理映射水平的一种方法,是一种为每个像素产生光线和影响相应的光线的反追踪三角的方法。在这种光线追踪方法中,全局光照效果能变得可能。例如,能基本地提供阴影效果、反射效应、折射效应和透明效果。
在一个实施例中,基于光线追踪方法的选择纹理映射水平的方法包括基于“光线微分”值的方法。光线追踪方法主要应用于离线操作因为它需要大量的计算负荷,但是随着半导体技术的发展,目前也能应用于实时操作。
在另一个实施例中,在选择纹理映射水平的方法中,当在相应的对象上执行预处理时,通过计算每个原始图像的时间点和相应的原始图像的纹理映射“0”水平之间的距离以及当执行预处理时纹理的变化量相对于像素的变化量的值,以及利用计算出的值,能够选择一个对象的纹理映射的水平,进行绘制时的光线穿过相应的对象,整个光线的长度值“动态”计算出。相比光线追踪方法,这种距离测量方法能够减少计算负荷。
因此,在本发明的技术中,根据目标对象的特性,例如,被提供图像的图像质量和/或操作速度的需求水平,纹理映射能够利用光线追踪方法或距离测量方法进行选择。
图1为本发明中利用选择纹理映射水平的方法的材质贴图系统的一个实施例的方框图。
参考图1,利用选择纹理映射水平的方法的该材质贴图系统100包括对象信息存储单元110、对象信息识别单元120、算法确定单元130、距离测量方法操作单元140、光线追踪方法操作单元150以及纹理映射水平选择单元160。
所述对象信息存储单元110存储显示在屏幕中的对象的对象信息。在一个实施例中,该对象信息可以包括屏幕中呈现的对象的数量、对象的形状和材质和/或出现在屏幕的空间中相关对象的位置。例如,该对象可包括图9(a)中所示的餐桌、椅子、窗户和洗涤槽。
所述对象信息识别单元120从所述对象信息存储单元110获取将要显示在屏幕中的目标对象的对象信息并识别获取的信息。
所述算法确定单元130分析由该对象信息识别单元120获取的对象信息并基于分析的结果确定选择纹理映射水平的算法。例如,选择纹理映射水平的算法可包括微分方法和/或距离测量方法。在一个实施例中,该算法确定单元130能够识别被提供图像的图像质量和/或操作速度的需求水平,并当操作速度的需求水平更高时,选择所述距离测量方法操作单元140,以及当图像质量的需求水平更高时,选择所述微分方法操作单元150。
所述距离测量方法操作单元140根据距离测量方法的算法执行选择纹理映射水平的预处理。在一个实施例中,该距离测量方法操作单元140能够从所述对象信息识别单元120接收目标对象的对象信息,并基于所述算法确定单元130确定的结果计算距离,其中,像素和纹理的比例设定为1:1。例如,该距离测量方法操作单元140能够计算纹理的像素的大小,基于对应于纹理三角形的三个顶点而计算包含在纹理三角形中的纹理数量,基于计算出的纹理数量来计算包含纹理的三角形的像素大小,基于对应的三个顶点,来计算三角形的大小,以及计算出的三角形的大小,来计算距离,其中,像素和纹理的比例设定为1:1。纹理三角形可以包括形成纹理的单个三角形,以及包括二维坐标的纹理坐标。
所述微分方法操作单元150从对象信息识别单元接收目标对象的对象信息,并根据所述算法确定单元130的确定结果计算光线的微分值。
所述纹理映射水平选择单元160基于所述距离测量方法操作单元140计算出的距离或该光线追踪方法操作单元150计算出的微分值选择纹理映射水平。在一个实施例中,当选择纹理映射的水平时,用得最多的方法可以用像素的变化量与纹理空间的长轴的纹理的比例。例如,选择纹理映射水平可以基于下面的数学方程式1。
(数学方程式1)
lod=log2(max(|du|,|dv|)
这里,当纹理空间映射在一个相应的像素的屏幕空间时,(du,dv)是一个纹理坐标系统(u,v)的增量向量值。可以看出,通过数学方程式1可以从增量向量值中选择一个更大的值。
同时,如果在材质贴图中图像被扩大,可以使用“插补”方案。如果图像被缩小,图像质量会严重变差。因此,在本发明中,从增量向量值中可选择更大的值,并且可选择具有更高水平(即选择的图像具有更小的大小)的“LOD”大小。
在利用选择纹理映射水平的方法的该材质贴图系统100,所述纹理映射水平选择单元160基于选择的纹理映射执行材质贴图。
图2为由图1的材质贴图系统所执行的一种选择纹理映射水平的方法的流程图。
在图2中,在为全局光照材质贴图选择纹理映射水平的方法中,首先,识别呈现在屏幕中的至少一个对象的对象信息(步骤S210)。在一个实施例中,该对象信息可以包括屏幕中呈现的对象的数量、对象的形状和材质和/或出现在屏幕的空间中相关对象的位置。
接下来,基于该对象信息确定选择纹理映射水平的算法(步骤S220)。在一个实施例中,选择纹理映射水平的算法可以包括微分方法和/或距离测量方法。例如,在微分方法中,可以基于相邻光线的微分值选择纹理映射。在距离测量方法中,可以计算出距离,其中,像素和纹理的比例设定为1:1,以及基于计算出的距离选择纹理映射。在一个实施例中,可以识别被提供图像的图像质量和/或操作速度的需求水平,以及基于识别的结果可以确定纹理映射水平的选择算法。例如,当相应图像的图像质量的需求水平更高时,选择微分方法作为纹理映射水平选择算法。在另一个实施例中,当图像的操作速度的需求水平更高时,选择距离测量方法作为纹理映射水平选择算法。
最后,基于确定的方法选择纹理映射水平(步骤S230)。
图3为阐释图2中的作为微分方法的基础的光线追踪方法和距离测量方法的原理的示意图。
参考图3,包含在任意一个对象中的特定像素的“初级光线”产生自相机的一个时间点,并且执行搜寻遇上“初级光线”的对象的计算。例如,如果遇上“初级光线”的对象具有反射或折射特性,产生反射效应的“反射光线”或产生折射效应的“折射光线”发生在“初级光线”遇上对象的位置,并且产生阴影效果的“阴影光线”产生在点光源的方向。在这里,如果朝向相应的点光源方向的“阴影光线”遇上任一对象,会产生阴影。如果没有,则不会产生阴影。“反射光线”和“折射光线”被称为“次级光线”,随后执行搜寻遇上“次级光线”的对象的计算。
图4为阐释图2的微分方法的流程图。
参考图4,在利用光线追踪方法选择纹理映射水平和材质贴图的方法中,基于图3的原理检测任意一条光线与另一条相邻的光线之间的差距,以及基于检测到的差距来计算角度和纹理坐标的变化量(步骤S410),以及基于该角度和纹理坐标的变化量来计算微分值(步骤S420)。然后,通过增大像素的微分值使该微分值接近(步骤S430),以及由三维纹理定义出二维图形(步骤S440),以及选择具有接近于定义的纹理的大小的纹理映射(步骤S450)。
图5为阐释图2中的距离测量方法的示意图。
参考图5(a),一个时间点的距离“Pb”可以被算出,在该时间点,具有三角形的纹理成为一个基础纹理,该基础纹理具有0水平的纹理映射。该距离是指一部分,其中,像素大小和纹理的比例设定为1:1,以及该距离是该时间点的相对距离。因此,该距离可以不与该时间点的位置相关。如果相应三角形的顶点信息没有改变,“Pb”值可以不改变。
如果穿过该光线的相应的三角形的光线长度为“PI”,且该相应的三角形垂直于该时间点的向量,该相应的三角形的纹理的纹理映射水平可以由下面的数学方程式2计算出。
(数学方程式2)
S=max(dub,dvb)
在这里,Ps是将PI乘以S的结果,以及S是指以Pb位置为基础的变化量。在一个实施例中,S指对应于像素的两个坐标轴(x,y)的纹理的两个轴(u,v)的变化量中的更大值。在一个实施例中,如果如图5(b)和5(c)所示的值不对称地变化,它们意味着在变化的值中的更大值dv和r2。
图6为阐释图2中的距离测量方法的流程图。
参考图6,在根据距离测量方法选择纹理映射水平的方法中,基于纹理的大小和屏幕的大小可以计算出对应于纹理的像素的大小(步骤S610)。例如,对应于纹理的像素的大小可以通过下面的数学方程式3计算出。
(数学方程式3)
在这里,“Xps”是对应于像素的纹理的大小,“Texturesize”是纹理的大小,以及“Resolution”是显示的屏幕的大小。如果对应于纹理三角形的三个顶点的纹理坐标是(s0,t0),(s1,t1)和(s2,t2),基于这三个坐标可以计算出包含在该三角形中的纹理的数量(步骤S620)。例如,该大小可以通过下面的数学方程式4计算出。
(数学方程式4)
在这里,“TXN”是包含在该三角形中的纹理的数量。
包含纹理的三角形的大小可以基于步骤“S610”和步骤“S620”计算出的值计算出来(步骤S630)。例如,纹理的大小可以通过下面的数学方程式5计算出。
(数学方程式5)
TXS=TXN·TPS
在这里,“TXS”是包含纹理的三角形的大小,以及TXN”是纹理的数量。
如果对应给定的三角形的三个顶点的模型坐标是(x0,y0,z0),(x1,y1,z1)和(x2,y2,z2),基于这三个坐标可以计算出三角形的大小(步骤S640)。例如,可以通过下面的数学方程式6计算出三角形的大小。
(数学方程式6)
(xt,yt,zt)={(x1,y1,z1)-(x0,y0,z0)}×{(x2,y2,z2)-(x0,y0,z0)}
在这里,“Tarea”是三角形的大小。
基于步骤“S630”和步骤“S640”计算出的值可以计算出距离,其中,像素和纹理的比例设定为1:1(步骤S650)。例如,距离可以通过下面的数学方程式7计算出,其中,像素和纹理的比例设定为1:1。
(数学方程式7)
在这里,“Pb”是该距离,其中,像素和纹理的比例设定为1:1,“TXS”是像素的实际大小,以及“Tarea”是三角形的大小。
基于计算出的距离通过数学方程式1选择纹理映射的水平(步骤S660)。
图7为利用本发明的选择贴图水平的方法的材质贴图系统的另一个实施例的方框图。
参考图7,利用选择纹理映射水平的方法的材质贴图系统700包括预处理单元710、三角形信息存储单元720、相对距离获取单元730、光线信息存储单元740、最终距离计算单元750、纹理映射水平选择单元760、纹理信息存储单元770、纹理信息获取单元780以及过滤单元790。
所述预处理单元710利用图6中的距离测量方法可以计算出每个三角形的相对距离,其中,像素和纹理的比例设定为1:1,以及计算出的相对距离存储在所述三角形信息存储单元720。
该三角形信息存储单元720映射原始三角形到由预处理单元计算出的相对距离的信息并存储该映射信息和相对距离。
所述相对距离获取单元730从三角形信息存储单元720接收经受纹理转换的原始三角形的数量以及对应该相应数量获取原始三角形的相对距离。在一个实施例中,三角形的数量可以分配到当前被由起始点发出的光线构成的三角形。
所述光线信息存储单元740累积和存储关于光线距离的信息。在一个实施例中,关于光线距离的信息可以包括之前累积和存储的“PI”。当同时产生光线的反射和折射时,该光线信息存储单元740可以将关于一条光线的信息“推入”一个堆栈,并在另一条光线上执行光线追踪。如果该程序结束,该光线信息存储单元740可以从栈顶“拉出”关于该光线的信息,并通过该拉出的信息追踪该光线。
所述最终距离计算单元750计算出一段到三角形的距离,而且不受到从出发点发出的射线和已经积累和存储在所述光线信息存储单元740中的距离的影响。
所述纹理映射水平选择单元760基于由最终距离计算单元计算出的距离选择纹理映射水平。
所述纹理信息存储单元770存储关于纹理的信息。在一个实施例中,关于纹理的信息可包括色彩、光亮程度以及相应纹理的色彩和阿尔法数据。
所述纹理信息获取单元780从纹理信息存储单元接收待转换的纹理识别符Texture_id以及获取相应该纹理识别符的纹理信息。
所述过滤单元790将从该纹理信息获取单元获取的纹理映射到相应的原始纹理。
图8为阐释图7中的过滤单元的材质贴图的示意图。
在图8中,当根据图4或6选择了纹理映射,“纹理空间”,也就是所选择的纹理映射,可以映射到“对象空间”,然后最终映射到“屏幕空间”。图8的左边可以表示整个纹理,以及黑色轮廓可以表示一个四边形,其角可以映射到纹理的各个点。当该四边形呈现在屏幕中时,由于多个转变(例如选择、变形、缩小和投射),四边形的形状可以改变。在执行这个转变后,纹理映射的四边形显示在图8的右边的图中所示的屏幕中。
图9为本发明一种选择纹理映射水平方法所运用的实验模型的例子的示意图。
参考图9,可以看出,接受材质贴图的图像具有依据各自空间的距离选择的不同的纹理映射。在一个实施例中,从图9(a)和9(b)可以预见,光线的长度会变长,因为存在许多反射、折射或投射区域。从图9(c)和9(d)可以预见,光线的长度会相对变短。
图10为图9中每个图像的纹理映射水平所显示测量的选择比例的图表。
参考图10,可以看出,如图9中所示的,图9(a)和9(b)对高水平的纹理映射具有一个相对高的选择比例,以及图9(c)和9(d)对低水平的纹理映射具有一个相对高的选择比例,正如图9所预示的。
图11为测量图9中的每个图像的缓存大小的缓存错失率的图表。
参考图11,根据在图9的每个图像的标准的缓存大小上的试验结果,如果块的大小是64B,缓存的形状是直接映射缓存,可以看出,随着所有标准模型的缓存大小的增加,缓存错失率是下降的。
图12为测量图9中的每个图像的块大小的缓存错失率的图表。
参考图12,根据在图9的每个图像的标准的块大小上的试验结果,如果缓存的大小是34K,缓存的形状是直接映射缓存,可以看出,随着所有标准模型的块大小的增加,缓存错失率是下降的。在这里,块的单位是字节。在这种情况下,必须在缓存和外部存储器之间传输的数据量相对增加了。
图13为测量图9中的每个图像的缓存和块的大小相结合的缓存错失率的图表。
参考图13,根据在图9的每个图像的标准的缓存和块相结合上的试验结果,如果缓存的大小是32KB以及块的大小是64B,可以看出,缓存的性能是不断保持的。
本发明可以具有以下效果。然而,这并不意味着特定的实施例应该包含以下所有效果或者仅仅包含以下效果,以及因此不应该理解本发明的范围受它们的局限。
依照实施例的选择纹理映射水平的方法可以提高材质贴图的速度。这是因为可以利用一种更高效的方法选择每个原始对象的纹理映射。
进一步地,依照实施例的选择纹理映射水平的方法可以减小直接映射缓存的错失率。这是因为可以选择高效的纹理映射水平以及当对象接近纹理数据时可以选择具有相应对象的最适合的大小的纹理水平。因此,利用选择纹理映射水平的材质贴图系统的可靠性可以得到提高。
进一步地,用于将没有变形的纹理贴在倾斜或旋转的对象上的多种过滤方案可以应用到依照实施例的选择纹理映射水平的方法。
尽管上面描述了本申请的较佳实施例,但是本领域的普通技术人员应该理解可以在不脱离下面的权利要求描述的本申请的精神和范围的情况下对本发明作出各种形式的修改和变化。
Claims (15)
1.一种基于材质贴图用于全局光照的选择纹理映射水平的方法,所述方法包括:
步骤(a)识别屏幕上至少一个对象的对象信息,所述对象信息包括所述至少一个对象的数量、所述至少一个对象的形状、所述屏幕中所述至少一个对象的材质和/或相应对象在所述屏幕的空间中的位置;
步骤(b)基于所述对象信息确定选择纹理映射水平的算法,所述选择纹理映射水平的算法包括微分方法和/或距离测量方法,所述微分方法基于相邻光线的微分值选择纹理映射,以及所述距离测量方法通过计算距离选择纹理映射,其中,像素和纹理的比例设定为1:1;以及
步骤(c)基于所述确定的方法选择纹理映射水平;
所述步骤(c)包括:
步骤(c1)基于纹理的大小和屏幕的大小,计算对应于纹理的像素的大小;
步骤(c2)基于对应于纹理三角形的三个顶点的纹理坐标,计算纹理的数量;
步骤(c3)基于所述步骤(c1)和(c2)计算的值,计算所述包含纹理的三角形的像素大小;
步骤(c4)基于对应于给定三角形的三个顶点的模型坐标,计算所述给定三角形的面积的大小;
步骤(c5)基于所述步骤(c3)和(c4)计算出的值,计算距离,其中像素和纹理的比例设定为1:1;以及
步骤(c6)基于计算出的所述距离,选择纹理映射水平。
2.如权利要求1所述的方法,其中,所述步骤(b)进一步包括:
步骤(b1)识别被提供图像的图像质量和/或处理速度的需求水平;以及
步骤(b2)基于所述识别的结果确定所述选择纹理映射水平的算法。
3.如权利要求2所述的方法,其中,步骤(b2)包括:根据识别的结果,当相应对象的所述图像质量的所述需求水平更高时,选择微分方法作为所述选择纹理映射的算法。
4.如权利要求2所述的方法,其中,步骤(b2)包括:根据识别的结果,当相应对象的所述处理速度的所述需求水平更高时,选择距离测量方法作为所述选择纹理映射的算法。
5.如权利要求1所述的方法,其中,所述步骤(c1)包括根据下面的数学方程式计算对应于所述纹理的所述像素的大小:
在这里,“Xps”是对应于所述纹理的所述像素的大小,“Texturesize”是纹理的大小,以及“Resolution”是显示的屏幕的大小。
6.如权利要求1所述的方法,其中,步骤(c2)包括根据下面的数学方程式计算包含在所述三角形中的所述纹理的数量:
在这里,“TXN”是包含在所述三角形中的纹理的数量,所述三角形的纹理坐标是(s0,t0),(s1,t1)和(s2,t2),以及“Texturesize”是所述纹理的大小。
7.如权利要求1所述的方法,其中,步骤(c3)包括根据下面的数学方程式计算所述三角形的大小:
TXS=TXN·XPS
在这里,“TXS”是包含纹理的所述三角形的像素大小,“TXN”是所述纹理的数量,以及“Xps”是对应于所述纹理的所述像素的大小。
8.如权利要求1的所述方法,其中,所述步骤(c4)包括根据下面的数学方程式基于所述模型坐标计算所述给定三角形的面积的大小:
(xt,yt,zt)={(x1,y1,z1)-(x0,y0,z0)}×{(x2,y2,z2)-(x0,y0,z0)}
在这里,对应所述给定的三角形的三个顶点的模型坐标是(x0,y0,z0),(x1,y1,z1)和(x2,y2,z2)以及“Tarea”是所述给定三角形的面积的大小。
9.如权利要求1所述的方法,其中,所述步骤(c5)包括根据下面的数学方程式计算距离,其中,像素和纹理的比例设定为1:1:
在这里,“Pb”是所述距离,其中,像素和纹理的比例设定为1:1,“TXS”是包含纹理的三角形的像素大小,以及“Tarea”是所述给定三角形的面积的大小。
10.一种利用选择纹理映射水平的方法的材质贴图系统,包括:
对象信息存储单元,用于存储关于显示在屏幕中的对象的对象信息,所述对象信息包括至少一个对象的数量、所述至少一个对象的形状、所述屏幕中的所述至少一个对象的材质和/或相应对象在所述屏幕的空间中的位置;
对象信息识别单元,用于从所述对象信息存储单元获取关于显示在所述屏幕中的目标对象的对象信息和识别所述获取的对象;
算法确定单元,用于分析从所述对象信息识别单元获取的所述对象信息和基于所述分析的对象信息确定选择纹理映射水平的算法,所述选择纹理映射水平的算法包括微分方法和/或距离测量方法,所述微分方法基于相邻光线的微分值选择纹理映射,以及所述距离测量方法通过计算距离选择纹理映射;
距离测量方法操作单元,用于从所述对象信息识别单元接收所述目标对象的所述对象信息和根据所述算法确定单元确定的结果计算距离,其中,像素和纹理的比例为1:1;以及
纹理映射水平选择单元,用于基于所述距离测量方法操作单元计算出的距离选择所述纹理映射水平;
其中,所述距离测量方法操作单元基于纹理的大小和屏幕的大小计算对应于纹理的像素,基于对应于所述纹理的三角形的三个顶点的纹理坐标计算包含在所述三角形中的纹理数量,基于计算出的所述像素的大小和计算出的所述纹理的数量计算所述包含纹理的三角形的像素大小,基于对应于给定的三角形的三个顶点的模型坐标计算所述给定三角形的面积的大小,以及基于计算出的所述三角形的大小的两个值计算距离。
11.如权利要求10所述的材质贴图系统,进一步包括微分方法操作单元,用于从所述对象信息识别单元接收所述目标对象的所述对象信息和根据所述算法确定单元的确定结果计算光线的微分值,其中,所述纹理映射水平选择单元基于所述微分方法操作单元计算出的所述微分值选择所述纹理映射水平。
12.如权利要求11所述的材质贴图系统,其中,所述算法确定单元识别被提供的图像的图像质量和/或操作速度的需求水平,当所述操作速度的需求水平更高时,选择距离测量方法操作单元,以及当图像质量的需求水平更高时,选择微分方法操作单元。
13.一种利用选择纹理映射水平方法的材质贴图系统,包括:
预处理单元,用于借助距离测量方法计算原始三角形的相对距离,其中,像素和纹理的比例为1:1;
三角形信息存储单元,用于映射原始三角形到由所述预处理单元计算出的所述相对距离的信息并存储所述映射信息和相对距离;
相对距离获取单元,用于从所述三角形信息存储单元接收经受纹理转换的原始三角形的数量和对应所述原始三角形的数量获取原始三角形的相对距离;
光线信息存储单元,用于累积和存储光线距离信息;
最终距离计算单元,用于计算出一段从出发点发出的当前的射线到三角形的距离,所述三角形受到从出发点发出的当前的射线和已经积累和存储在所述光线信息存储单元中的距离的影响;以及
纹理映射水平选择单元,用于基于由所述最终距离计算单元计算出的距离选择纹理映射水平。
14.如权利要求13所述的材质贴图系统,其中,所述预处理单元基于纹理大小和屏幕大小计算对应于纹理的像素的大小,基于对应于所述纹理的三角形的三个顶点的纹理坐标计算包含在所述三角形中的纹理数量,基于计算出的所述像素的大小和计算出的所述纹理的数量计算所述三角形的大小,基于对应于给定三角形的三个顶点的模型坐标计算所述给定三角形的大小,以及基于计算出的所述三角形的大小的两个值计算距离,其中,像素和纹理的比例设定为1:1。
15.如权利要求13所述的材质贴图系统,进一步包括:
纹理信息存储单元,用于存储所述纹理的信息;
纹理信息获取单元,用于从所述纹理信息存储单元接收纹理识别符和获取对应于所述纹理识别符的所述纹理的信息;以及
过滤单元,用于将从所述纹理信息获取单元获取的所述纹理映射到对应的原始对象。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2010/005766 WO2012026640A1 (ko) | 2010-08-27 | 2010-08-27 | 밉맵 레벨 선택 방법 및 이를 이용한 텍스처 매핑 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103080981A CN103080981A (zh) | 2013-05-01 |
CN103080981B true CN103080981B (zh) | 2016-03-02 |
Family
ID=45723623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080068772.9A Expired - Fee Related CN103080981B (zh) | 2010-08-27 | 2010-08-27 | 选择纹理映射水平的方法及利用该方法的材质贴图系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140176550A1 (zh) |
EP (1) | EP2610814A4 (zh) |
JP (1) | JP5695746B2 (zh) |
KR (1) | KR101447552B1 (zh) |
CN (1) | CN103080981B (zh) |
WO (1) | WO2012026640A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015167159A1 (en) * | 2014-05-02 | 2015-11-05 | Samsung Electronics Co., Ltd. | Rendering system and method for generating ray |
KR102201834B1 (ko) * | 2014-05-02 | 2021-01-12 | 삼성전자주식회사 | 렌더링 시스템 및 이의 레이 생성 방법 |
KR102282189B1 (ko) * | 2014-07-02 | 2021-07-27 | 삼성전자 주식회사 | 밉맵 생성 방법 및 장치 |
KR102247565B1 (ko) | 2014-09-12 | 2021-05-03 | 삼성전자 주식회사 | 렌더링 방법 및 장치 |
CN105096370B (zh) * | 2015-07-15 | 2017-08-01 | 西安邮电大学 | 光线追踪的等价划分反锯齿方法 |
EP3736775B1 (en) * | 2016-03-14 | 2023-10-11 | Imagination Technologies Limited | Methods and graphics processing units for determining differential data for rays of a ray bundle |
CN106331663B (zh) * | 2016-08-26 | 2018-12-11 | 珠海金山网络游戏科技有限公司 | 一种便携设备的交互材质获取系统和方法 |
US10395408B1 (en) * | 2016-10-14 | 2019-08-27 | Gopro, Inc. | Systems and methods for rendering vector shapes |
CN112381915B (zh) * | 2020-10-27 | 2024-10-01 | 杭州电魂网络科技股份有限公司 | 基于物理原理的环境光反射模拟方法、设备和存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325934A (ja) * | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
US5649173A (en) * | 1995-03-06 | 1997-07-15 | Seiko Epson Corporation | Hardware architecture for image generation and manipulation |
US6654023B1 (en) * | 1999-06-02 | 2003-11-25 | Ati International, Srl | Method and apparatus for controlling mip map transitions in a video graphics system |
EP1183652B1 (en) * | 1999-06-04 | 2004-03-31 | Broadcom Corporation | Method and system for performing mip map level selection |
US6509902B1 (en) * | 2000-02-28 | 2003-01-21 | Mitsubishi Electric Research Laboratories, Inc. | Texture filtering for surface elements |
JP3840966B2 (ja) * | 2001-12-12 | 2006-11-01 | ソニー株式会社 | 画像処理装置およびその方法 |
US6657624B2 (en) * | 2001-12-21 | 2003-12-02 | Silicon Graphics, Inc. | System, method, and computer program product for real-time shading of computer generated images |
EP1503345A1 (en) * | 2003-07-30 | 2005-02-02 | Koninklijke Philips Electronics N.V. | System for adaptive resampling in texture mapping |
WO2005081683A2 (en) * | 2004-02-12 | 2005-09-09 | Pixar | Method and apparatus for multiresolution geometry caching based on ray differentials |
KR100684558B1 (ko) * | 2005-10-13 | 2007-02-20 | 엠텍비젼 주식회사 | 텍스쳐 밉매핑 장치 및 방법 |
JP4804122B2 (ja) * | 2005-11-21 | 2011-11-02 | 株式会社バンダイナムコゲームス | プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム |
KR100829561B1 (ko) * | 2006-08-24 | 2008-05-15 | 삼성전자주식회사 | 3차원 그래픽 데이터 렌더링 방법 및 장치 |
US8350855B2 (en) * | 2006-11-28 | 2013-01-08 | Georgia Tech Research Corporation | Systems and methods of reducing anti-aliasing in a procedural texture |
KR20100046797A (ko) * | 2008-10-28 | 2010-05-07 | 삼성전자주식회사 | 텍스쳐 팩터를 이용한 3차원 그래픽 데이터 처리 장치 및 그 방법 |
KR101508388B1 (ko) * | 2008-12-15 | 2015-04-06 | 엘지전자 주식회사 | 밉맵 생성 장치 및 방법 |
-
2010
- 2010-08-27 CN CN201080068772.9A patent/CN103080981B/zh not_active Expired - Fee Related
- 2010-08-27 WO PCT/KR2010/005766 patent/WO2012026640A1/ko active Application Filing
- 2010-08-27 JP JP2013526977A patent/JP5695746B2/ja active Active
- 2010-08-27 EP EP10856465.9A patent/EP2610814A4/en not_active Withdrawn
- 2010-08-27 US US13/819,553 patent/US20140176550A1/en not_active Abandoned
- 2010-08-27 KR KR1020137007224A patent/KR101447552B1/ko active IP Right Grant
Non-Patent Citations (3)
Title |
---|
《MIP-Map Level Selection for Texture Mapping》;Jon P.Ewins等;《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》;19981231;第4卷(第4期);第8页右栏第2段,第9页左栏第1段第5-6行,第11页右栏第2段 * |
《基于光线跟踪算法的纹理映射水平》;张英杰等;《计算机工程》;19940531;第20卷(第5期);全文 * |
《跟踪光线微分技术再纹理处理中的应用》;解荣国等;《哈尔滨理工大学学报》;20010430;第6卷(第2期);第1页第1段第4-7行、第9行,第2页第7段第1-3行 * |
Also Published As
Publication number | Publication date |
---|---|
US20140176550A1 (en) | 2014-06-26 |
WO2012026640A1 (ko) | 2012-03-01 |
EP2610814A1 (en) | 2013-07-03 |
EP2610814A4 (en) | 2014-10-01 |
JP5695746B2 (ja) | 2015-04-08 |
JP2013536536A (ja) | 2013-09-19 |
KR101447552B1 (ko) | 2014-10-08 |
CN103080981A (zh) | 2013-05-01 |
KR20130096271A (ko) | 2013-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103080981B (zh) | 选择纹理映射水平的方法及利用该方法的材质贴图系统 | |
US10991153B2 (en) | Object illumination in hybrid rasterization and ray traced 3-D rendering | |
US12014457B2 (en) | Importance sampling for determining a light map | |
Zeng et al. | Octree-based fusion for realtime 3D reconstruction | |
Szirmay-Kalos et al. | Approximate ray-tracing on the gpu with distance impostors | |
US7280121B2 (en) | Image processing apparatus and method of same | |
CA1304525C (en) | Method for generating images | |
KR101681056B1 (ko) | 정점 처리 방법 및 장치 | |
CN102446365B (zh) | 估计在虚拟环境的一点上接收的光量的方法 | |
US20050068326A1 (en) | Image processing apparatus and method of same | |
CN101441774B (zh) | 基于图像映射空间的动态场景实时双面折射绘制方法 | |
CN101271588B (zh) | 可重建几何阴影图方法 | |
KR101560283B1 (ko) | 3차원 영상 생성 방법, 이를 수행하는 3차원 영상 생성 장치 및 이를 저장하는 기록매체 | |
KR20120047778A (ko) | 가상 환경에서 차폐의 추정 방법 | |
Davis et al. | Interactive refractions with total internal reflection | |
CN106210696B (zh) | 一种实时虚拟视点合成的方法及装置 | |
US20090213144A1 (en) | Apparatus and method to calculate raster data | |
CN101937577A (zh) | 生成具有边界像素超采样效果的阴影的方法 | |
KR20100068603A (ko) | 밉맵 생성 장치 및 방법 | |
JP2019530070A (ja) | 優先プリミティブバッチのビニング及びソートを用いたハイブリッドレンダリング | |
EP3232405A1 (en) | Image processing apparatus and method for processing images, and recording medium | |
Kunert et al. | Efficient point cloud rasterization for real time volumetric integration in mixed reality applications | |
Hertel et al. | A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows. | |
CN109934900A (zh) | 基于vr硬件架构的实时全局光照解决方法 | |
Wang et al. | Silhouette smoothing for real-time rendering of mesh surfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160302 Termination date: 20160827 |
|
CF01 | Termination of patent right due to non-payment of annual fee |