CN1926558A - 对任意成三角形的表面应用精确三维体纹理的系统和方法 - Google Patents

对任意成三角形的表面应用精确三维体纹理的系统和方法 Download PDF

Info

Publication number
CN1926558A
CN1926558A CNA2004800292451A CN200480029245A CN1926558A CN 1926558 A CN1926558 A CN 1926558A CN A2004800292451 A CNA2004800292451 A CN A2004800292451A CN 200480029245 A CN200480029245 A CN 200480029245A CN 1926558 A CN1926558 A CN 1926558A
Authority
CN
China
Prior art keywords
texture
tile
polygon
texture map
map
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.)
Granted
Application number
CNA2004800292451A
Other languages
English (en)
Other versions
CN1926558B (zh
Inventor
肖恩·A·什皮采尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Landmark Graphics Corp
Original Assignee
Landmark Graphics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Landmark Graphics Corp filed Critical Landmark Graphics Corp
Publication of CN1926558A publication Critical patent/CN1926558A/zh
Application granted granted Critical
Publication of CN1926558B publication Critical patent/CN1926558B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Prostheses (AREA)
  • Paper (AREA)

Abstract

本发明披露了一种在一任意三维多边形表面上显示体数据的系统和方法。对于多边形表面中的每个多边形,创建二维纹理片并组合这些纹理片以形成纹理地图。每个纹理地图在纹理高速缓冲存储器中被分配一个特定数量的存储器。可对多边形表面中的每个多边形进行扫描变换并可将最终的纹素放置到纹理高速缓冲存储器中。与多边形表面中的任何多边形都不相交的体素可不进行扫描变换。该方法可导致减少使用纹理高速缓冲存储器。

Description

对任意成三角形的表面应用精确三维体纹理的系统和方法
技术领域
本发明涉及用于显示图形数据的系统和方法,更加具体地说,涉及对任意成三角形的表面应用精确三维体纹理的技术。
背景技术
在一些领域中,有益的是以三维的方式模拟真实的或计算机产生的对象。模拟这种对象证实在许多应用中都是有益的。例如,模拟一部分地壳的次表面结构对于发现石油储备、确定断层线的位置,和用于其它地质应用是有益的。类似的,模拟人体部位对用于医学训练练习、诊断、进行远程手术或用于其它医学应用是有益的。模拟计算机产生的对象可用于创建计算机游戏、设计飞行模拟、和其它应用。还存在用于对真实的和计算机产生的对象进行三维建模的其他应用。
一些三维模型将一个对象表示为三维体数据点矩阵。这种已知为数据体的矩阵包括多个数据点,已知为体数据点。可将每个体数据点称之为体像素,还称为体素。体素是三维图像的最小可识别盒形部分。体素与像素类似,但代表的是三维体积,而非二维区域。每个体素代表对正被建模的对象的一个三维部分的离散取样。
数据体中的每个体素包含一组唯一的坐标(x,y,z)和代表正被检查的特定属性的一个或多个数据值。可以通过范围(0-256)来表示这些数据值,所述范围与特定的红色、绿色、蓝色值(RGB)和不透明度变量(A)相对应,所述不透明度变量(A)是从正被检查的属性的量度或值获得的。所述属性的量度或值对应于体素所代表的对象部分。这允许对正被检查的属性进行图形表示。
例如,在地震或地质应用中,通过人工产生声波并以不同的物理属性记录这些声波在从地下岩石层被反射之后的波来获得地震数据。然后从反射的声波或地震数据来创建代表地下结构的数据体。在这种示例中,每个体素包含代表来自反射声波的发射波(即,幅度)的数据值。可从该数据值的显示图像来推断地质结构。例如,最高地震幅度数据值可由红色来表示,略微降低幅度的数据值可由橙色来表示,而其它幅度数据值可由其它颜色来代表。其它颜色方案也是可行的。这允许对地震数据进行图形表示。
一旦创建了数据体时,就可将其内容显示给用户。用户可指定该数据体中包含的三维表面,并且显示系统在屏幕或其它显示介质上显示该表面上的体素。这使得用户能够观察数据体内部包含的体素。
一种用于显示任意三维表面上的体素的系统已知为三维纹理映射。该技术是在计算机图形硬件加速器的光栅处理单元中实现的。该技术使用特定专门的存储器,已知为纹理高速缓冲存储器或纹理存储器,其被设置在集成电路上。
在该技术中,纹理高速缓冲存储器被用作数据体中包含的信息的缓冲器。数据体的一个块或部分被读入到纹理高速缓冲存储器中,并且该块中的信息被光栅处理单元使用。随后,数据体的第二块被读入到纹理高速缓冲存储器中,并且第二块中的信息被光栅处理单元使用。该过程继续直到整个数据体对于光栅处理单元都是可用的,该过程是通过纹理高速缓冲存储器以一次一个块的方式进行的。
这种技术具有某些不能使其有效用于特殊情形的固有属性。例如,对于比可获得的纹理高速缓冲存储器的容量大的数据体来说,必须要将数据体分割成块并且必须将每个块交换到纹理高速缓冲存储器中。这是低效的,因为在确定每个块的大小并将它读到纹理高速缓冲存储器中需要相对较大的开销。
此外,即使在这种技术中光栅处理器只需要位于三维表面上的体素,但也要将数据体中的每个体素读入到纹理高速缓冲存储器并存储在其中。因此,纹理高速缓冲存储器中的存储器未被有效的使用,因为可能要将相对大量的不需要数据存储在纹理高速缓冲存储器中。当三维表面比数据体小时,该问题会加剧。
另外,因为在该操作中使用了相对大量的纹理高速缓冲存储器,所以对于其它图形操作的纹理高速缓冲存储器的容量是有限的。这限制了再现对象的性能,并限制了其它图形操作的性能。
特别的需要一种显示数据体内包含的任意三维表面上的数据体内容的技术,其使用减少数量的纹理高速缓冲存储器。
发明内容
在一个方面中,克服现有技术中的这些和其它问题的本发明一个实施例涉及一种对多边形应用三维体纹理的方法。所述方法包括步骤:提供包括多个体数据点的数据体;提供部分或整体包含在所述数据体内的多边形表面,所述多边形表面包括至少一个多边形;产生一组纹理地图,每个纹理地图包括一多边形表面中的至少一个多边形的二维布局;和为每个纹理地图分配存储器片段。所述方法还包括步骤:基于体数据中的体数据点对每个多边形进行扫描变换和将每个多边形的扫描变换结果写入到所述分派给纹理地图的存储器片段中,所述纹理地图包括含有多边形的布局。
在另一个方面中,本发明包括具有描述纹理片尺寸的纹理片尺度和多边形表述的纹理片,所述多边形整体或部分的包含在一三维数据体中。
在又一个方面中,纹理地图包括描述地图尺寸和多边形表述的地图尺度,所述多边形整体或部分的包含在一三维数据体中。
在又一个方面中,存储器片段包括多个纹素(纹理图形的基本单元),所述多个纹素包括一个或多个预定的多边形纹素和一个或多个预定的非多边形纹素,其中所述多个纹素中的每个多边形纹素包含基于一数据体中的体数据点计算的值,且每个其它的纹素是无效的。
在再一个方面中,本发明包括一种对多边形表面应用三维体纹理的系统。所述系统包括被配置包含多个纹素的纹理高速缓冲存储器,和被配置包含多边形表面和数据体的存储器,所述多边形表面包括一个或多个多边形,和所述数据体包括一个或多个体数据点。所述系统还包括一被配置用于产生一组纹理地图的控制模块,每个纹理地图包括所述多边形表面中的至少一个多边形的二维布局,以便为每个纹理地图分配一个纹理高速缓冲存储器片段、对至少一个多边形进行扫描变换,由此产生一个或多个纹素和将通过对每个多边形进行扫描变换得到的一个或多个纹素写入到分配给所述纹理地图的纹理高速缓冲存储器片段中,所述纹理地图包含包括多边形的布局。
附图的简略说明
将参照附图对本发明进行说明,图中相同的元件用相同的参考符号指代,其中:
图1表示根据本发明一个实施例的数据体和三维表面;
图2为描述根据本发明一个实施例的用于对表面应用体数据的方法的流程图;
图3表示根据本发明一个实施例的一组纹理片;
图4表示根据本发明一个实施例的一组纹理地图;
图5表示根据本发明一个实施例的纹理存储器片段;
图6表示根据本发明一个实施例的在扫描变换前后的多边形;
图7为根据本发明一个实施例的用于对多边形表面应用三维体纹理的系统的方框图;
图8是表示根据本发明一个实施例的用于多边形细分和纹理片产生的方法的流程图;
图9是表示根据本发明一个实施例的用于产生纹理地图的方法的流程图。
具体实施方式
图1表示根据本发明一个实施例的数据体和三维表面。数据体100可以是或者包括一真实的或计算机产生的对象的三维模型。数据体100可以是或者包括体数据点102a-d的一个三维矩阵。
每个体数据点102a-d可包含说明数据体100的一个特定部分的一个或多个值。例如,每个体数据点102a-d可包含指定数据体100的一部分的位置的x,y,z坐标。每个体数据点102a-d还可包含一个或多个与一个或多个特定属性相应的值。例如,每个体数据点102a-d可包含与地震属性、密度或某一其它属性相应的数据值。
在一个实施例中,每个体数据点102a-d可以是或包括一个体素。可将每个体素显示为从一特定属性的量度或值获得的组合颜色值和不透明性变量(RGBA)。
可在任何坐标系统中定义数据体100,例如在有原点104的笛卡尔坐标系统。
多边形表面106可整体或部分的包含在数据体100中。多边形表面106可以是通过用户或通过计算机选择或指定的二维或三维表面。可选择多边形表面106以使用户能够检查与多边形表面106相交的体数据点102a-d。在一些应用中可选择多边形表面106以便对自然出现的表面进行确切或近似建模。例如,可选择多边形表面106以便对地壳层之间的界面进行建模。
可通过一个或多个多边形108a-d来定义多边形表面106。用于描述每个多边形的各种方法都是可能的。例如,可通过一组顶点和边来定义每个多边形。在一个实施例中,多边形108a-d是三角形,并通过其顶点的笛卡尔坐标来定义每个多边形108a-d。
图2为描述根据本发明一个实施例的用于对表面应用体数据的方法的流程图。该方法开始于步骤200,在该步骤可提供数据体100。数据体100可以是从测量的数据例如地震数据产生的,或者是以别的方式产生的。
在步骤202,可提供多边形表面106。多边形表面106可以是用户或计算机指定的。可选择多边形表面106以便检查与多边形表面106相交的体数据点102a-d。可选择多边形表面以对自然出现的表面进行精确或近似建模或以别的方式进行选择。
在步骤204,可除去多边形108a-d的压缩索引。在一些实施例中,可使用压缩索引(也称作顶点索引或三角条)的形式来表示多边形108a-d。例如,110a-d每个都代表一个由两个或多个多边形共用的顶点。为了除去这种形式的压缩索引并指派一组对于每个多边形都是唯一的顶点用于单独的识别,每个顶点110a-d被分派一个顶点号Vn和一个多边形号Pn。以这种方式,可根据其自己的顶点组对每个多边形进行单独索引。例如,由110a-c限制的多边形将由Vn=0、1、2和Pn=0来代表;由110b-d限制的多边形将由Vn=0、1、2和Pn=1来代表;由110c-e限制的多边形将由Vn=0、1、2和Pn=2来代表。除去这种和其它形式的压缩索引的其它方法在现有技术中是公知的,因此在这里不对其进行重复。
在步骤206,可对多边形108a-d进行细分。该步骤可确保每个多边形108a-d可适合步骤208中的纹理片。在一个实施例中,最大纹理片的尺寸被指定。在该实施例中,一些多边形可不适合最大可允许纹理片。在该情况下,可将这些多边形细分成适合可允许大小的纹理片的较小多边形。
在步骤208,可为每个多边形108a-d创建纹理片。在该步骤中产生的纹理片将参照图3进行说明。每个纹理片300a-d可包括或代表电子存储器的一个二维阵列或其它部分,其被定形以适合特定的多边形108a-d。如果一个特定的多边形108a-d小于所述纹理片的预定尺寸,那么在一个实施例中,每个纹理片300a-d包括最小的二维阵列,其包含一特定的多边形108a-d。在特定多边形108a-d小于纹理片的预定尺寸的另一个实施例中,每个纹理片300a-d包括足够大以包含一特定多边形108a-d的阵列尺度,但不包括物理阵列本身。
每个纹理片300a-d可包含描述特定相应多边形108a-d的信息。例如,每个纹理片可包括每个相应多边形108a-d的顶点的坐标(x,y,z),和识别多边形的号码(Pn)。
每个纹理片300a-d还可包含用于识别纹理片的号码(Tn)、识别在步骤210中产生的与纹理片相关的纹理地图的号码(An)、识别纹理地图上的纹理片的位置的坐标(s’,t’)、识别纹理片在显示图像中的位置的坐标(s,t)和识别多边形表面106的原点的坐标(x’,y’)。
在步骤210,可对纹理片300a-d进行组合以形成一个或多个纹理地图。将参照图4说明在该步骤中产生的纹理地图。每个纹理地图400a-c可以是或包括纹理片300a-d的一个二维布局。可将每个纹理片300a-d放置到一个纹理地图400a-c中。如果在任何现有的纹理地图400a-c中没有空间,则可产生新的纹理地图400a-c。在一些实施例中,用户可为每个纹理地图400a-c指定一个目标或最大尺寸。
在另一个实施例中,每个纹理地图400a-c可以是或包括一个二维阵列或其它类型的电子存储器,其被配置以包含一个或多个纹理片300a-d。在又一个实施例中,每个纹理地图400a-c可包含关于如何在二维布局中最佳布置纹理片300a-d的信息,包括将每个纹理地图400a-c放置在参照步骤212所述的存储器片段500中的什么地方。在该实施例中,对于纹理地图来说可能不需要包含足够的物理存储器来包含每个纹理片300a-d。
如此所述的,可以最佳的方式执行步骤206中的纹理片300a-d的创建和步骤210中的纹理地图400a-c的创建。这将减小或最小化纹理片300a-d、纹理地图400a-c或二者的空的或未用的空间。以这种方式,使用前述的技术将可用的纹理存储器空间最佳化。也可应用其它已知的最佳化技术,例如由Battke,Stalling和Hege于《Visualization and Mathematics》的1997版中公开的论文“Fast Line Integral Convolution for ArbitrarySurfaces in 3D”。
在步骤212,可为每个纹理地图400a-c分配一个存储器片段。将参照图5说明在该步骤中分配的存储器片段。为一特定纹理地图400a分配的存储器片段500的尺度可等于纹理地图400a的尺度或与之成比例。存储器片段500可以是或者包括纹理存储器或纹理高速缓冲存储器的一个或多个片段。存储器片段500可包括多个纹素502a-d。纹素是纹理图形,即定义三维对象的表面的图形的基本单元。纹素502a-d可以是存储器片段500中出现的不可分割纹理单元。一个或多个纹素502a和502b可对应于纹理地图400a的一部分,其整体或部分的包含于多边形108d中。这些纹素502a和502b可称之为多边形纹素。一个或多个纹素502c可对应于纹理地图400a的一部分,其包含于纹理片300d中,但不包含在任何多边形108a-d中。这些纹素可称之为片纹素。既非多边形纹素也非片纹素的一个或多个纹素502d可包括在存储器片段500中。因为纹理地图和纹理片中包含的信息可用于确定存储器片段中的哪些纹素是多边形纹素,所以存储器片段500中的多边形纹素被看作是预定的。
在步骤214,每个多边形108a-d可被扫描变换。将参照图6说明对多边形进行扫描变换的步骤。扫描变换是将数据体100中包含的数据值映射成纹素的过程。数据体100中的一个或多个体数据点102a-d可与特定的多边形108d相交。从这些相交体数据点102a-d中包含的信息,创建对应于体数据点102a-d的纹素600a-d。如果体数据点102a-d包括体素,则使用称为三次线性内插的公知数学技术可将体素映射为相应的纹素600a-d。使用该技术,通过最靠近数据体100中的纹素的八(8)个体素的线性加权来确定每个纹素。在扫描变换中产生的纹素600a-d可对应于存储器片段500中包含的多边形纹素502a-d。直到该步骤还没有设置每个纹理地图内的纹理片的排列和存储器片段内的每个纹理地图的位置。
在步骤216,可将扫描变换的结果写入到存储器片段500中。该过程可包括将纹素600a-d写到存储器片段500中的多边形纹素502a-b中。在一个实施例中,可将每个纹素600a-d写入到如所产生的相应多边形纹素502a-b中。在另一个实施例中,可产生与一特定多边形108a-d相应的纹素600a-d,并且可将多边形108a-d的所有纹素600a-d写入到存储器片段500中。在其它实施例中,可产生与一特定纹理地图400a-c相应的纹素并将其写为群组,或者可产生与所有多边形108a-d相应的所有纹素并将其写为群组。
存储器片段500可包含一个或多个不是多边形纹素的纹素502c-d。这些纹素可以不包含在表面106再现中使用的信息。因此,这些纹素可被看作是无效的。在一个实施例中,无效纹素502c-d可以是空纹素、只包含初始值的纹素或以别的方式特定标记无效的纹素。在另一个实施例中,无效纹素502c-d可包含纹素数据,例如来自先前表面再现或另一操作的纹素数据。
在将多边形表面106中的所有多边形的所有多边形纹素502a-b写入到存储器片段500中之后,存储器片段500可包含所需的信息以在表面106上显示数据体100中包含的信息。
在步骤218,可将所述结果显示给用户。可通过阴极射线管或其它屏幕显示存储器片段500的内容,打印该内容或以别的方式显示该内容。
可结合用于对体数据进行图形显示的其它系统和方法来执行所述方法。例如,可结合在序列号为09/119635的共有的美国专利申请“Systemand Method for Analyzing and Imaging Three-Dimensional Volume DataSets”中所述的用于对三维体数据集进行分析和成像的系统来使用所述方法,所述专利申请通过参考而被并入本文。当结合这种装置施行本发明时,可在整个3D体数据集内通过用户交互地产生、定形、确定大小和移动多个取样探测器或用户指定的表面。取样探测器与整个3D体数据集的交点被纹理映射到取样探测器的表面上,或者在取样探测器内以变化的透明度对其进行体再现。例如,随着用户移动取样探测器,例如通过使用“鼠标”“单击并拖动”,用户察觉到随取样探测器的移动“实时”变化的取样探测器的表面上的纹理。以这种方式,用户可通过整个3D体交互地移动取样探测器,并且能更加容易和有效的显示和解释在由整个3D体数据集所代表的地理空间内出现的属性和物理参数。
现在参照图7,其示出了根据本发明一个实施例的用于将对多边形表面应用三维体纹理的系统的方框图。系统700可包括纹理高速缓冲存储器702,其包含多个纹素704。系统700还包括一存储器706,其可包含多边形表面106和数据体100。可在存储器706中通过描述多个多边形108a-d的多个顶点坐标或通过某一其它方法来表示多边形表面106。在存储器706中可通过多个体数据点102a-d来表示数据体100。每个体数据点102a-d可以是或包括一个体素。
系统700还包含一个控制模块708。控制模块708可以能够执行计算机可执行指令。控制模块708可包括或参考计算机可执行指令710。可将计算机可执行指令710存储在控制模块708中、存储器706中或其它位置。控制模块708可执行计算机可执行指令710以便执行各种功能。
可配置控制模块708以通过执行计算机可执行指令710来执行各种功能。可配置控制模块708以例如通过清楚的表示多边形表面106中的每个多边形108a-d的每个顶点而从多边形表面106除去压缩索引。还可配置控制模块708以对多边形表面106中的大于最大可允许片尺寸的那些多边形108a-d进行细分。
还可配置控制模块708以为多边形表面106中包含的每个多边形108a-d产生一纹理片300a-d。控制模块708可将纹理片300a-d存储在存储器706中或其它地方。还可进一步配置控制模块708以在一个或多个纹理地图400a-c中组合纹理片300a-d。控制模块708可将纹理地图400a-c存储在存储器706中或其它地方。
还可配置控制模块708以对每个纹理地图400a-c分配纹理高速缓冲存储器702的片段710a-c。还可配置控制模块708以根据数据体100中包含的体数据点102a-d对多边形表面106中的每个多边形108a-d进行扫描变换。扫描变换的结果可以是一个或多个纹素,可将其写入到纹理高速缓冲存储器702的纹素704中。作为特定多边形108a的扫描变换结果写入的纹素704可以是片段710a中包含的纹素704,片段710a被分配给包含包括多边形108a的布局的纹理地图400a。
还可配置控制模块708以通过阴极射线管、其它屏幕、打印机或其它显示装置将扫描变换的结果显示给用户。
图8是表示根据本发明一个实施例的用于多边形细分和纹理片产生的方法的一个实施方式的流程图。该方法可以是图2的步骤206和208的一个实施例。
所述方法开始于步骤800,其中可产生多边形集合。多边形集合可以是组成多边形表面106的多边形108a-d的表示。在一个实施例中,产生多边形集合的步骤800可包括除去多边形108a-d表示中的压缩索引。在另一个实施例中,多边形可能已经是没有压缩索引表示的。
在步骤802,可产生纹理片集合。可配置纹理片集合以保存一个或多个纹理片300a-d。纹理片集合可以包含一最大纹理片尺寸,其可由宽度和高度来表示。
在步骤804,检查多边形集合以确定在所述多边形集合中是否剩余有任何未处理的多边形108a-d。如果多边形集合不包含一个或多个未处理的多边形,则所述方法完成,并且所述方法结束于步骤806。
如果所述多边形集合包含一个或多个未处理的多边形108a-d,则在步骤808中选择一个未处理的多边形108a-d。在步骤810,检查多边形108a-d以便确定多边形108a-d是否适合最大可允许尺寸的纹理片300a-d。如果多边形108a-d不适合最大可允许尺寸的纹理片300a-d,则在步骤812中对多边形108a-d进行细分。细分可以是产生若干个较小的多边形108a-d的任何处理,所述若干个较小的多边形的联合是原始多边形108a-d。在一个实施例中,通过对多边形108a-d的最长边进行平分和通过在多边形108a-d的顶点的二分点处产生新的边缘来对多边形108a-d进行细分。在另一个实施例中,可通过形心降级来细分多边形108a-d。该过程可包括找出多边形108a-d的形心,并从多边形108a-d的每个顶点到所述形心产生新的边。
在步骤814,可将从细分得到的多边形108a-d置于多边形集合中。这可确保如果需要则对这些多边形108a-d中的每一个进行细分,并对每个多边形产生一纹理片300a-d。
在步骤816,可将原始多边形标记为经过处理的。该过程可例如包括设置布尔变量或以别的方式表示多边形108a-d已经被检查过了。不需要为原始多边形108a-d产生纹理片300a-d,因为将为从细分产生的多边形108a-d产生纹理片300a-d。
如果在步骤810确定正被检查的多边形108a-d将适配最大可允许尺寸的纹理片300a-d,则可在步骤818产生新的纹理片300a-d。所产生的纹理片300a-d可包括多边形108a-d或可包含描述多边形108a-d的信息。在一个实施例中,可选择纹理片300a-d的尺度以减小纹理片300a-d的尺寸,同时确保纹理片300a-d包含多边形108a-d。例如,在一个实施例中,纹理片300a-d可以是包含多边形108a-d的最小矩形纹理片300a-d。
在步骤820,可将纹理片300a-d添加到纹理片集合中。然后所述方法在步骤816继续,其中多边形108a-d被标记为经过处理的。所述方法返回至步骤804,其中确定在所述多边形集合中是否剩余有任何未经处理的多边形108a-d。
图9是表示根据图2中的步骤210产生纹理地图的方法的一个实施例的流程图。所述方法开始于步骤900,在该步骤可创建纹理地图集合。可配置纹理地图集合以保存一个或多个纹理地图400a-c。纹理地图集合可包含由宽度和高度代表的最大纹理地图尺寸。在创建时,纹理地图集合可不包括任何纹理地图400a-c。
在步骤902,可检查纹理片集合以确定在纹理片集合中是否剩余有任何未处理的纹理片300a-d。被检查的纹理片集合可以是在图8的方法中创建的纹理片集合。如果纹理片集合不包含一个或多个未处理的纹理片300a-d,则所述方法完成,并且所述方法结束于步骤904。
如果多边形集合包含一个或多个未处理的纹理片300a-d,则在步骤906选择一个未处理的纹理片300a-d。在步骤908,检查纹理片300a-d和纹理地图集合以确定纹理片300a-d是否适合包含在纹理地图集合中的任何纹理地图400a-c。如果纹理片300a-d不适合任何纹理地图400a-c,则可在步骤910创建一个新的纹理地图400a-c。可将新的纹理地图400a-c放置在纹理地图集合中。在一个实施例中,由纹理地图300a-c中的空纹理片300a-d来代表纹理地图400a-c中的空的空间。这些纹理片可以是被特定标记为空的纹理片300a-d。在该实施例中,可将纹理地图400a-c的尺度的单个空纹理片300a-d加入到纹理地图400a-c中。
在步骤912,可将在步骤906中选择的纹理片300a-d添加给纹理地图集合中的纹理地图400a-c。在一个实施例中,可以最佳的方式或另外的方式来执行纹理片300a-d的放置以减少纹理地图400a-c中的空的空间。
在一个实施例中,每个纹理地图400a-c中的空的空间可由空纹理片300a-d来代表。在该实施例中,可将被添加给纹理地图集合的纹理片300a-d放置在与被添加的纹理片300a-d具有最小面积差的空纹理片300a-d的位置。当纹理片300a-d已经被添加完成时,就可创建新的空纹理片300a-d。这些新的空纹理片300a-d可覆盖先前由空纹理片300a-d覆盖但未由添加的纹理片300a-d覆盖的纹理地图400a-c的区域。可将这些新的空纹理片300a-d放置在添加的纹理片300a-d和空纹理片300a-d之间的区域差的位置。
在步骤914,可将纹理片300a-d标记为经过处理的。该过程可例如包括设置布尔变量或另外表示已经将纹理片300a-d放置在纹理地图集合中。所述方法返回步骤902,其中确定在纹理片集合中是否剩余有任何未处理的纹理片300a-d。
本发明的前述说明仅仅是示意的,本领域技术人员可对结合和实施方式做出修改。例如,可组合各步骤或以任意顺序执行各步骤。虽然已经将纹理片和纹理地图描述为能够包含一个或多个多边形的电子存储器的物理片段,但它们并不需要实际包含该存储器。相反,纹理片或纹理地图可包括指定足够存储器片段的尺度的数据。可将单独说明的硬件、软件或其它资源分布在各实施例中,并且类似的在各实施例中可以对按分布说明的资源进行组合。因此本发明的范围趋于仅由后附的权利要求限定。

Claims (33)

1.一种用于显示图形数据的方法,所述图形数据包括一个数据体中的至少一个体数据点,所述方法包括步骤:
产生纹理地图,所述纹理地图包括多边形表面中的至少一个多边形的二维布局;
为纹理地图和数据体分配存储器片段;
对所述至少一个多边形进行扫描变换以形成一相应的纹素;
将纹素写入到所述存储器片段中;和
确定纹素和多边形表面的交点。
2.根据权利要求1所述的方法,其中所述至少一个多边形是三角形。
3.根据权利要求1所述的方法,其中所述数据体是包括来自幅度、相位、频率、外表和相干性的至少一个属性的地震数据体。
4.根据权利要求1所述的方法,还包括产生纹理片的步骤。
5.根据权利要求4所述的方法,还包括步骤:
确定所述至少一个多边形是否能适配到一预定的最大纹理片尺寸中;
如果所述至少一个多边形不适合所述最大纹理片尺寸,则将它细分成多个分多边形;和
标记所述至少一个多边形和适配所述最大纹理片尺寸的多个分多边形中的每一个。
6.根据权利要求5所述的方法,还包括创建纹理片集合的步骤,所述纹理片集合包括多个纹理片,所述多个纹理片包括纹理片,所述多个纹理片中的每一个包含所述至少一个多边形和所述多个分多边形中的至少一个。
7.根据权利要求5所述的方法,其中所述不适配最大纹理片尺寸的至少一个多边形包括一个长边、长边上的中点和一个顶点。
8.根据权利要求7所述的方法,还包括步骤:
在所述中点和顶点之间产生一条边。
9.根据权利要求6所述的方法,还包括步骤:
确定所述多个纹理片中的每一个是否与预定的最大纹理地图尺寸相适配;
将所述多个纹理片中的适配最大纹理地图尺寸的每一个分派给的纹理地图;
将所述每个纹理片中的不适配所述最大纹理片尺寸的多个分多边形中的每一个分派给一个新的纹理地图;和
对分派给所述纹理地图和所述新纹理地图的所述多个纹理片中的每一个进行标记。
10.根据权利要求9所述的方法,其中还包括将所述多个纹理片中的每一个的纹理片尺寸与最大纹理地图尺寸进行比较的步骤,所述多个纹理片中的每一个被分配给所述纹理地图和正被分派的新纹理地图,以使分派给所述纹理地图的多个纹理片的集体纹理片尺寸与最大纹理地图尺寸之间的差最小化和使分派给所述新的纹理地图的多个纹理片的集体纹理片尺寸与最大纹理地图尺寸之间的差最小化。
11.根据权利要求1所述的方法,其中所述存储器片段包括纹理高速缓冲存储器。
12.根据权利要求1所述的方法,其中所述纹素是基于相应的体数据点形成的。
13.根据权利要求1所述的方法,其中还包括对所述至少一个多边形的表述进行处理以除去任何压缩索引的步骤。
14.根据权利要求13所述的方法,其中对所述至少一个多边形的表述进行处理的步骤包括表述所述多边形的至少一个顶点。
15.根据权利要求1所述的方法,其中还包括将体素与多边形表面交叉的至少一部分显示给用户的步骤。
16.一种纹理地图,包括:
纹理片;
识别纹理片的号码;
识别纹理地图上的纹理片位置的号码;
纹理地图尺度;
纹理地图纵横比;和
识别纹理地图在为纹理地图指派的存储器片段中的位置的坐标。
17.根据权利要求16所述的纹理地图,其中所述纹理片包括:
多边形的表述,所述多边形的表述包括顶点,所述顶点被至少部分地包含在三维数据体中;
识别多边形原点的坐标;
识别多边形的号码;
纹理片尺度;
识别纹理片的号码;
识别包含纹理片的纹理地图的号码;
识别纹理片在纹理地图上的位置的坐标;和
识别纹理片在显示的图像中的位置的坐标。
18.根据权利要求17所述的纹理地图,其中所述数据体包括地震数据,地震数据包括来自幅度、相位、频率、外表和相干性的至少一种属性。
19.根据权利要求17所述的纹理地图,其中所述多边形是三角形。
20.根据权利要求17所述的纹理地图,其中所述多边形的表述包括它的每个顶点的清晰的坐标。
21.根据权利要求16所述的纹理地图,其中所述存储器片段包括纹理高速缓冲存储器。
22.一种包括可由机器读取的程序存储装置的系统,所述程序存储装置利用可由机器执行的指令程序来显示图形数据,所述图形数据包括一数据体中的至少一个体数据点,所述指令包括步骤:
产生纹理地图,所述纹理地图包括多边形表面中的至少一个多边形的二维布局;
为纹理地图和数据体分配存储器片段;
对所述至少一个多边形进行扫描变换以形成一相应的纹素;
将纹素写入到所述存储器片段中;和
确定纹素和多边形表面的交点。
23.根据权利要求22所述的系统,其中所述至少一个多边形是三角形。
24.根据权利要求22所述的系统,其中所述数据体是包括幅度、相位、频率、外表和相干性的至少一个属性的地震数据体。
25.根据权利要求22所述的系统,其中所述纹理地图包括纹理片。
26.根据权利要求25所述的系统,还包括产生纹理片集合的步骤,所述纹理片集合包括所述纹理片和另一个纹理片。
27.根据权利要求26所述的系统,其中所述纹理地图包括所述纹理片和所述另一个纹理片中的至少一个。
28.根据权利要求27所述的系统,还包括产生纹理地图集合的步骤,所述纹理地图集合包括所述纹理地图和另一个纹理地图,所述另外的纹理地图包括所述纹理片和所述另一个纹理片中的至少一个。
29.根据权利要求25所述的系统,其中所述纹理片包含多边形。
30.根据权利要求22所述的系统,其中所述存储器片段包括纹理高速缓冲存储器。
31.根据权利要求22所述的系统,其中所述纹素是基于相应的体数据点形成的。
32.根据权利要求22所述的系统,还包括对所述至少一个多边形的表述进行处理以除去任何压缩索引的步骤。
33.根据权利要求32所述的系统,其中所述至少一个多边形的处理表述包括所述多边形的至少一个顶点。
CN2004800292451A 2003-08-06 2004-08-05 对任意成三角形的表面应用精确三维体纹理的系统和方法 Expired - Fee Related CN1926558B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/636,441 US7151545B2 (en) 2003-08-06 2003-08-06 System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
US10/636,441 2003-08-06
PCT/US2004/025298 WO2005017608A2 (en) 2003-08-06 2004-08-05 System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces

Publications (2)

Publication Number Publication Date
CN1926558A true CN1926558A (zh) 2007-03-07
CN1926558B CN1926558B (zh) 2010-08-11

Family

ID=34116431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800292451A Expired - Fee Related CN1926558B (zh) 2003-08-06 2004-08-05 对任意成三角形的表面应用精确三维体纹理的系统和方法

Country Status (13)

Country Link
US (3) US7151545B2 (zh)
EP (1) EP1660930B1 (zh)
CN (1) CN1926558B (zh)
AU (1) AU2004265970C1 (zh)
BR (1) BRPI0412949A (zh)
CA (1) CA2534981C (zh)
EA (1) EA011896B1 (zh)
EG (1) EG24485A (zh)
MA (1) MA28023A1 (zh)
MX (1) MXPA06001497A (zh)
NO (1) NO340522B1 (zh)
UA (1) UA91329C2 (zh)
WO (1) WO2005017608A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877149A (zh) * 2010-07-16 2010-11-03 光庭导航数据(武汉)有限公司 二维地图背景在三维图形显示加速设备上的显示方法
CN104199091A (zh) * 2014-08-25 2014-12-10 电子科技大学 基于方位地震数据的纹理属性方法
CN104823215A (zh) * 2012-12-28 2015-08-05 苹果公司 子画面图形渲染系统
CN107248187A (zh) * 2017-05-22 2017-10-13 武汉地大信息工程股份有限公司 一种快速三维模型纹理切割重组的方法
CN117372600A (zh) * 2023-09-25 2024-01-09 深圳市地质环境研究院有限公司 三维地质模型自动纹理贴图方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3670274B2 (ja) * 2002-11-05 2005-07-13 アジア航測株式会社 視覚化処理システム、視覚化処理方法、及び視覚化処理プログラム
US7151545B2 (en) * 2003-08-06 2006-12-19 Landmark Graphics Corporation System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
GB2434287B (en) * 2006-01-17 2011-09-14 Delcam Plc Improvements Relating To Designing And Manufacturing An Article
CN102096937B (zh) * 2006-07-24 2014-07-09 索尼株式会社 毛发运动合成器系统和用于毛发/皮毛流水线的优化技术
US7889205B1 (en) * 2006-10-24 2011-02-15 Adobe Systems Incorporated Frame buffer based transparency group computation on a GPU without context switching
US9013499B2 (en) 2007-07-19 2015-04-21 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering including irregular texture maps
US8098258B2 (en) * 2007-07-19 2012-01-17 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering
US8385669B2 (en) * 2009-03-04 2013-02-26 Microsoft Corporation Scalable mutable tiled multi-resolution texture atlases
US8922558B2 (en) * 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
US9058685B2 (en) * 2010-03-11 2015-06-16 Broadcom Corporation Method and system for controlling a 3D processor using a control list in memory
CN103392190B (zh) 2011-04-04 2016-01-20 三菱电机株式会社 纹理映射装置
US8872839B2 (en) * 2011-09-09 2014-10-28 Microsoft Corporation Real-time atlasing of graphics data
US9236024B2 (en) 2011-12-06 2016-01-12 Glasses.Com Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US20130314401A1 (en) 2012-05-23 2013-11-28 1-800 Contacts, Inc. Systems and methods for generating a 3-d model of a user for a virtual try-on product
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US20130335416A1 (en) * 2012-05-23 2013-12-19 1-800 Contacts, Inc. Systems and methods for generating a 3-d model of a virtual try-on product
CA2869548C (en) 2012-06-27 2017-08-15 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
US9342923B2 (en) * 2012-06-27 2016-05-17 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
US9245363B2 (en) * 2012-12-21 2016-01-26 Nvidia Corporation System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model
CN104796649B (zh) * 2014-01-21 2017-12-26 北京炬力北方微电子有限公司 一种三维投影的方法及装置
CN107330454B (zh) * 2017-06-20 2020-07-17 陈文芹 非线性海量高维序列数据分类特性可视化及定量分析方法
US11348287B2 (en) * 2018-07-16 2022-05-31 Adobe Inc. Rendering of graphic objects with pattern paint using a graphics processing unit
CN115104121A (zh) * 2020-02-19 2022-09-23 交互数字Vc控股公司 用于处理图像内容的方法和设备
US11748940B1 (en) * 2021-10-11 2023-09-05 Meta Platforms Technologies, Llc Space-time representation of dynamic scenes

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467461A (en) 1981-01-05 1984-08-21 Conoco Inc. Interactive color analysis of geophysical data
CZ273297A3 (cs) * 1995-03-02 1998-06-17 Parametric Technology Corporation Počítačový grafický systém pro vytváření a zlepšování map, vztahujících se ke třírozměrným modelům
JP2930102B2 (ja) * 1997-01-31 1999-08-03 日本電気株式会社 半導体装置用配線構造及びその製造方法
US6373486B1 (en) 1997-02-03 2002-04-16 Landmark Graphics Corporation Method and apparatus for creating representations of geologic shapes
US6064771A (en) * 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US6765570B1 (en) 1998-07-21 2004-07-20 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe
US7259766B1 (en) 1998-10-30 2007-08-21 Autodesk, Inc. Aperiodic tiling of textured images
JP3005581B1 (ja) * 1999-03-16 2000-01-31 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲ―ム装置
US6744442B1 (en) * 2000-08-29 2004-06-01 Harris Corporation Texture mapping system used for creating three-dimensional urban models
US6438493B1 (en) * 2000-09-29 2002-08-20 Exxonmobil Upstream Research Co. Method for seismic facies interpretation using textural analysis and neural networks
US6636225B2 (en) * 2000-11-20 2003-10-21 Hewlett-Packard Development Company, L.P. Managing texture mapping data in a computer graphics system
US6493858B2 (en) * 2001-03-23 2002-12-10 The Board Of Trustees Of The Leland Stanford Jr. University Method and system for displaying VLSI layout data
US6914610B2 (en) * 2001-05-18 2005-07-05 Sun Microsystems, Inc. Graphics primitive size estimation and subdivision for use with a texture accumulation buffer
US7174050B2 (en) * 2002-02-12 2007-02-06 International Business Machines Corporation Space-optimized texture maps
US6850233B2 (en) * 2002-05-01 2005-02-01 Microsoft Corporation Systems and methods for optimizing geometric stretch of a parametrization scheme
US7151545B2 (en) 2003-08-06 2006-12-19 Landmark Graphics Corporation System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
US6843520B1 (en) * 2003-12-22 2005-01-18 Lear Corporation Rear jump seat head restraint mounting sleeve

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877149A (zh) * 2010-07-16 2010-11-03 光庭导航数据(武汉)有限公司 二维地图背景在三维图形显示加速设备上的显示方法
CN101877149B (zh) * 2010-07-16 2012-08-29 光庭导航数据(武汉)有限公司 二维地图背景在三维图形显示加速设备上的显示方法
CN104823215A (zh) * 2012-12-28 2015-08-05 苹果公司 子画面图形渲染系统
CN104823215B (zh) * 2012-12-28 2018-04-27 苹果公司 子画面图形渲染系统
CN104199091A (zh) * 2014-08-25 2014-12-10 电子科技大学 基于方位地震数据的纹理属性方法
CN104199091B (zh) * 2014-08-25 2017-03-01 电子科技大学 基于方位地震数据的纹理属性方法
CN107248187A (zh) * 2017-05-22 2017-10-13 武汉地大信息工程股份有限公司 一种快速三维模型纹理切割重组的方法
CN117372600A (zh) * 2023-09-25 2024-01-09 深圳市地质环境研究院有限公司 三维地质模型自动纹理贴图方法

Also Published As

Publication number Publication date
BRPI0412949A (pt) 2007-01-02
CA2534981C (en) 2013-01-22
MA28023A1 (fr) 2006-07-03
US7310102B2 (en) 2007-12-18
NO20061069L (no) 2006-05-05
UA91329C2 (uk) 2010-07-26
US7151545B2 (en) 2006-12-19
EP1660930A4 (en) 2011-10-05
CA2534981A1 (en) 2005-02-24
EP1660930A2 (en) 2006-05-31
US7397480B2 (en) 2008-07-08
WO2005017608A2 (en) 2005-02-24
EA200600375A1 (ru) 2007-08-31
US20050030317A1 (en) 2005-02-10
CN1926558B (zh) 2010-08-11
WO2005017608A3 (en) 2006-11-09
AU2004265970B2 (en) 2009-01-29
US20070091108A1 (en) 2007-04-26
NO340522B1 (no) 2017-05-02
EA011896B1 (ru) 2009-06-30
EG24485A (en) 2009-08-11
AU2004265970A1 (en) 2005-02-24
MXPA06001497A (es) 2006-05-15
EP1660930B1 (en) 2020-06-10
US20070076011A1 (en) 2007-04-05
AU2004265970B9 (en) 2009-05-21
AU2004265970C1 (en) 2009-06-25

Similar Documents

Publication Publication Date Title
CN1926558B (zh) 对任意成三角形的表面应用精确三维体纹理的系统和方法
CN108648269A (zh) 三维建筑物模型的单体化方法和系统
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
KR101085390B1 (ko) 3d 네비게이션을 위한 영상표현 방법, 장치 및 그 장치를포함한 모바일 장치
US8130223B1 (en) System and method for structuring an A-buffer to support multi-sample anti-aliasing
US20070018993A1 (en) Apparatus and methods for texture mapping
CN1860522A (zh) 实时共同显现多个属性的系统和方法
CN110675496B (zh) 基于三维城市地质模型的网格剖分和可视化方法及其系统
Hwa et al. Real-time optimal adaptation for planetary geometry and texture: 4-8 tile hierarchies
CN102044089A (zh) 一种三维模型的自适应化简、渐进传输和快速绘制的方法
US20240212863A1 (en) Unified anisotropic volume and surface mesh storage
US8553041B1 (en) System and method for structuring an A-buffer to support multi-sample anti-aliasing
US8654135B1 (en) A-Buffer compression for different compression formats
US6831642B2 (en) Method and system for forming an object proxy
Đurđević et al. Domino tiling: a new method of real-time conforming mesh construction for rendering changeable height fields
JP7368950B2 (ja) 効率的な建物フットプリント特定のための方法及び装置
EP4386685A1 (en) Method for 3d visualization of sensor data
Li et al. Visualization for hpc data-large terrain model
WO2022119469A1 (en) Device and method for multi-frustum rasterization
Akdemir et al. Right-triangular subdivision for texture mapping ray-traced objects
Gün Interactive editing of complex terrains on parallel graphics architectures
Carr Surface processing on graphics hardware

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100811

Termination date: 20170805