图像渲染的装置和方法与流程

文档序号:11627975阅读:167来源:国知局
图像渲染的装置和方法与流程

本发明涉及图像渲染的装置和方法。



背景技术:

许多视频游戏被设置在旨在是逼真的虚拟环境中,或者至少提供其显示允许玩家暂停怀疑的虚拟环境。

这种环境的一种性质通常是所谓的绘制距离;例如,在终止在绘制的天际线或其他非交互式背景之前,虚拟环境被渲染的距离有多远。绘制距离越长,以及在该绘制距离上越保持环境的保真度,那么环境被感知为更现实。

然而,将绘制距离和环境的保真度延伸到这样的距离在视频游戏控制台上施加了相应的计算和存储器负载。这使得难以实现或保持预期的帧速率,诸如以50或60hz运行的显示器的自然刷新率。因此,“绘制距离”通常是游戏中的可调参数,特别是在pc上,不同pc的计算能力变化,并且太大的绘制距离可能将游戏的帧率降低到不可玩的水平。



技术实现要素:

本发明旨在解决或减轻在大的绘制距离上渲染详细地形时保持帧速率和减少存储器成本的问题。

在第一方面,提供了根据权利要求1的图像渲染的方法。

在另一方面,提供了根据权利要求13的娱乐设备。

本发明的进一步的各个方面和特征在所附权利要求中限定。

附图说明

现在将参照附图通过示例来描述本发明的实施例,其中:

图1a、1b和1c是根据本发明的实施例的纹理数据的2d瓦片(tile)的图。

图2是根据本发明的实施例的从四叉树数据结构收集的渲染节点的列表的示意图。

图3是示出网格中的t形接合部间隙的示意图。

图4a和4b是根据本发明的实施例的没有和具有过采样的地形网格的图。

图5是示出根据本发明的实施例的单个渲染节点的图。

图6a、6b和6c是示出根据本发明的实施例的混合高度地图数据的图。

图7是根据本发明的实施例的图像渲染的方法的流程图。

图8是根据本发明的实施例的娱乐设备的示意图。

具体实施方式

公开了图像渲染的装置和方法。在以下描述中,呈现了多个具体细节以便提供对本发明的实施例的透彻理解。然而,对于本领域技术人员将显而易见的是,不需要采用这些具体细节来实施本发明。相反,为了清楚的目的,在适当的情况下省略本领域技术人员已知的具体细节。

在本发明的实施例中,虚拟顶点纹理连同索引数据的节点被用于渲染基于高度地图的地形几何形状。通常,虚拟顶点纹理是规则纹理,但是虚拟化是存储在磁盘上的,并且通过顶点着色器访问,而不是从片段着色器采样。通常,在光栅化索引流的顶点阶段期间读回虚拟纹理,以便渲染基于高度地图的地形几何形状,如本文稍后更详细地解释。

高度信息本身可以采取灰度纹理(例如8或16位)的形式,其提供被解释为相对于名义地面的高度值的亮度值范围。

当渲染虚拟环境的地形时,该地形的各种级别的细节(lod)以作为纹理数据的2d瓦片的页面的格式流入虚拟纹理(包括磁盘上的纹理数据的虚拟纹理)的物理表示。示例页面在图1a、1b和1c中示出。当观看者围绕虚拟环境网格移动时,需要渲染新的地形,出现对于请求新数据的页面故障,并且故障安全机制允许使用较低的lod信息作为渲染回退以避免虚拟环境网格内的空洞,同时请求的数据正从虚拟纹理加载到物理表示中。

收集纹理信息

为了渲染,使用将在后面描述的四叉树数据结构,将地形网格分成被称为渲染节点的一组规则节点。

用于渲染地形网格的节点都具有相同的顶点分辨率,但是具有基于底层数据的分辨率的世界大小。这使得整个地形能够用单个绘制调用来渲染,其中用每节点数据的辅助流实例化节点,并且该绘制调用可以作为间接绘制调用从gpu产生。

在虚拟纹理内编码的高度图可以通过均匀网格进行采样,使得其能够被分解成对应于渲染节点的正方形。然后每个正方形中的纹理信息的量对应于细节的水平。

应当理解,较少数量的顶点意味着每个节点的更少的覆盖,对屏幕上三角形分布的更精细的控制,但是增加的绘制调用的数量(或者在实例化绘制的情况下的实例),同时更高数量顶点意味着更少的绘制调用,这可以提高性能,但是以三角形分布的较不精确的控制为代价,因为节点具有更多的屏幕覆盖,这可能对性能有害。总体而言,在这些竞争性要求之间提供良好平衡的数字是32。

因此,在本发明的实施例中,如果加载的数据对应于最精细的mip级别(级别0),则由32×32四边形构成的渲染节点将覆盖高度图的32×32纹理像素,并且如果加载的数据对应于下一个mip级别(级别1)将覆盖64×64纹理像素等。可以有任何数量的级别,虽然8个级别可能是典型的。将理解,32×32等是仍然是非限制性的示例值。

另外,在每个页面周围添加一个或多个矩形边界,使得能够在渲染节点的边缘处共享顶点数据。这允许在生成用于阴影的地形法线时对片段代码内部的高度信息进行双线性滤波。

通过控制渲染节点分布,并且由于可以强加在高度图上的统一结构,可以确保给定渲染节点使其高程数据完全包含在虚拟顶点纹理的一个物理页内。由于该属性,有利地,不必保持间接纹理以在gpu上执行虚拟到物理地址转换。相反,当从顶点纹理采样时,将偏移和比率作为要应用于纹理的坐标的统一变量。这显着地减轻了更新虚拟纹理高速缓存的成本。

作为非限制性示例,虚拟纹理可以是128,000乘128,000纹理像素,但物理纹理(在视频ram中)是4000乘以2,000纹理像素。为了读取虚拟纹理的位置123,456x56,789,先前有必要保持将虚拟纹理映射到物理纹理的间接纹理。但是通过对准节点和纹理数据,可以替代地使用在着色器代码中应用于这些虚拟坐标的预先计算的2d偏移和2d比率来对物理高速缓存进行采样;则等效物理存储器位置将为(例如)2,345×1,234。

在上述示例中,应当理解,4,000×2,000纹理像素物理纹理是本发明中使用的物理页的完整高速缓存。

当针对一些虚拟坐标询问虚拟纹理系统时,系统返回结果(例如,没有误差,lod警告,knack误差)以及2d比率和2d偏移。这些作为统一变量传递给着色器。

当采样物理纹理时,示例过程(使用glsl语法)将如下:

因此,虚拟坐标(如上例中的123,456x56,789)在渲染时直接在着色器代码中使用。texture()函数是用于对纹理进行采样的内置glsl函数,并且应用2d比率和偏移以获得适合于物理纹理2d采样器的坐标,其中纹理比虚拟纹理小得多并且包含少得多的数据(以2d瓦片或本文所涉及的页面的形式)。

该方法起作用,因为对于给定绘制调用中的所有着色器实例,已知所有采样指令将位于单个物理页面中(如本文所述)。如果不是这种情况,则有必要跳到另一物理位置,其不能仅用偏移和比率来表示,而是需要完全的间接纹理。

在本发明的实施例中,渲染节点分布基于每个节点距相机的距离;越远,数据越粗糙。一旦收集了节点列表,它们被迭代通过并且虚拟纹理系统被询问;那么操作有几个可能的结果:

-数据在请求的分辨率下在物理存储器中,并且从流视点不需要进一步的操作;

-数据在物理存储器中不可用,但lod较低。较低的lod用于渲染,并且提高页面错误以开始丢失数据的流传输;

-数据在物理存储器中不可用,并且没有较低的lod可用。没有任何东西可以渲染该节点(几何中会有一个空隙),并引发页面错误成流丢失的数据。

后面的结果可以通过指定要作为故障安全加载的lod的量来避免,如前所述。

因此,在本实施例中,有利地,不需要保持间接纹理。在传统虚拟纹理中将需要的间接纹理中;这是可能的,因为高度图的高度可预测的性质,其可以被认为是具有一些高度位移的平面。

因此,可以对地形网格的节点(进入几何的2d正方形)和虚拟纹理页面(到纹理数据的2d正方形)的分解进行对齐,使得给定绘制调用的几何形状不会位于多个纹理页面上。

因此,不需要为间接纹理(其可以消耗大量的存储器资源)分配额外的存储器,并且也不需要更新这样的间接纹理(其可以消耗大量的计算资源)。在间接纹理中,纹理中的每个点处的数据表示虚拟纹理的一个虚拟页面。因此,例如间接纹理中位置x,y处的数据涉及虚拟纹理的特定虚拟页面,并且可包含指示纹理信息和/或u,v纹理坐标的页面位置的纹理像素值,以及/或页面的mip映射级(lod)。因为虚拟纹理可以采取mip映射的形式,并且间接纹理中的每个纹理像素对应于虚拟纹理的页面,间接纹理还可以采取mip映射的形式,其中每个级别对应于虚拟纹理的等效级别。此外,当然,间接纹理的整体大小随虚拟纹理的大小而缩放。因此,虽然虚拟纹理可能变得非常大,因为在实践中它可以在过程上生成并且因此它的大小不对应于其存储器占用,用于映射到该虚拟纹理的间接纹理作为限制因素,因为它需要占用物理存储器(例如,纹理存储器)。

因此,避免对间接纹理的需要是最有利的。

如前所述,基于虚拟纹理,用于当前可见地形的各种细节水平的纹理数据需要被流送到物理存储器中。因此,为了确定要获得什么纹理数据,需要将相关级别的细节的相关节点中的纹理索引收集在一起。

因此,使用基于四叉树的递归算法来执行用于渲染的节点的收集。

在第一步中,算法在顶层节点开始,顶层节点是覆盖整个地形网格的节点,并且遵循以下子步骤:

1.1.检查节点对照相机平截头体,如果不可见,则剔除它。

1.2.基于相机距离估计节点一旦投影到屏幕上的大小。

1.3.如果大小大于预定义的阈值,则对于当前节点的4个子节点中的每一个返回步骤1。

1.4.否则,将节点添加到要使用的渲染节点列表。

图2示出了从四叉树数据结构收集的渲染节点的列表的示例,其具有从0到3的相关联的虚拟mip级别。

一旦已经收集了渲染节点的列表,我们遍历每个节点并且询问虚拟纹理层以获得虚拟到物理转换值。这是通过遍历每个渲染节点,并应用以下操作来进行的:

2.1.通过查找页表,检查请求的数据是否已加载到物理存储器中。

2.2.如果数据被加载,则它可以用于渲染,并且页面的年龄被更新,使得它不被逐出

2.3.如果数据未加载,则可以使用更粗糙的mip级别来渲染并向应用程序返回lod警告;我们更新页面的年龄,所以它不会被逐出,我们提出一个/一些页面错误来请求丢失的数据。

2.4.如果没有lod回退可用,则不返回任何内容以进行渲染,并且将nack错误发送回应用程序。我们提出一个/一些页面错误以请求丢失的数据。

可以可选地将节点的收集和物理数据检查移动到gpu上的计算处理,gpu生成用于cpu处理的页面错误数据。

另外,虚拟纹理实现可以提供用于设置故障安全计数n的参数,其确保从所请求的虚拟位置加载从mip到mip+n的级别。这样的示例是故障安全计数2:如果请求在mip级别1加载位置x,y,则虚拟纹理将确保(x,y,1),(x,y,2)和(x,y,3)被加载到物理存储器,和/或引发页面错误以使该数据被加载。

页面错误自身可以作为距用户的视点的距离或位置的函数优先化,使得lod的潜在最明显的减少被更快地修复。

如果页表被完全填充并且新数据仍然需要加载,则可以使用基于每个页面的注册年龄的最近最少使用(lru)策略来移除一个或多个驻留页并且用新数据替换。

如前所述,应当理解,页表用于虚拟坐标和物理坐标之间的映射。

如先前所示,例如对于128,000×128,000纹理像素(在磁盘上)的虚拟纹理和4,000×2,000纹理像素(在vram中)的物理纹理,然后读取位置123,456×56,789,这不能直接使用以解决物理纹理。

因此,页表接收这些虚拟坐标,并且提供通常以一些2d偏移和2d比率的形式的地址转换,以指示从物理存储器中读取的对应位置是例如2,345x1,234。在第三步中,确定渲染节点之间的相邻性,并且根据需要应用在每个边缘(北、南、西、东)的边缘折叠。

边缘折叠信息被掩码为32位整数,每个字节对应于一个边缘。然后使用此邻接掩码在顶点着色器内执行边缘折叠:

参考图3,由于区域之间的lod的差异,边缘折叠用于抑制在渲染时将产生到网格中的t形接合部间隙的顶点。

第四步,在发送节点列表以进行渲染之前,可选地基于相机距离对渲染节点进行排序,以确保从前到后的绘制顺序,以减少像素过度绘制。这可以例如使用快速排序算法来完成。它的输出是绘制调用列表,可以间接绘制而无需cpu干预。

应当理解,渲染节点的列表是实际渲染的几何的片段,并且使用地形着色器代码。

为了提高地形网格的阴影质量,可以将虚拟纹理设置为具有比渲染节点的大小更大的页面大小,以实现过采样。

每个顶点一个法线可能不足以匹配预期的视觉保真度,因此通过使用过采样,可以增加法线密度,从而每个可用于照明的顶点有2、4、8、...个法线。

图4a示出了没有过采样的地形几何形状,而图4b示出了具有过采样的相同几何形状。

地形纹理

然后重新使用所收集的渲染节点列表来对另一个、不同的虚拟纹理或纹理执行另一个查找,该虚拟纹理用于纹理化(着色)地形网格。

为了实现高度的视觉保真度,优选地但可选地可以使用每毫米1个纹理像素的纹理像素分辨率。因此,如果地形网格上的一个单独的四边形覆盖大约1米乘1米的虚拟环境,则对于最接近相机的四边形,渲染1024x1024个纹理像素是可取的。

应当理解,节点可以由32×32四边形构成。图5示出了单个渲染节点(由32×32=1024个四边形或2048个三角形构成)的屏幕截图。因此,在图5的情况下,如果对于单个四边形(即,两个三角形,其中图形硬件仅支持三角形而不是四边形)存在1024x1024个纹理像素,则对于为32768×32768纹理像素的整个节点。

这些纹理像素用于纹理化(着色)。相比之下,对于高度图,每个顶点一个高度样本就足够了,如本文之前所述。

然而,对于8乘8公里的地图,这将意味着8388608乘8388608虚拟纹理(即,用于rgba格式的256兆字节的未压缩数据)。因此,使用规则的虚拟纹理是不实际的。相反,使用过程虚拟纹理。

过程虚拟纹理在用户移动时在过程上生成,因此不作为数据存储在磁盘上。

以与虚拟顶点纹理的采样类似的方式对过程虚拟纹理进行采样。当访问未映射的纹理区域时引起页面错误,并且通过调用页面错误处理程序回调函数来处理这些页面错误。

当在过程虚拟纹理的情况下处理这些页面错误时,不直接从盘读取数据,而是从第三和最后一个虚拟纹理(以下称为“拼贴图(splatmap)”)采样。

拼贴图编码关于如何组合从一组平铺纹理源渲染过程纹理所需的不同纹理的拼贴信息,并且由纹理艺术家创作。该映射被提取为常规虚拟纹理,并且通常具有与高度图的纹理相同的纹理分辨率。

拼贴图包括存储在磁盘上的掩模信息,其用于在各种纹理源(例如草、岩石等)中拼贴。拼贴图可以被流式传输,并且该信息用于生成/渲染过程虚拟纹理的页面。一旦完成,地形碎片着色器对过程虚拟纹理的物理表示进行采样,以获得颜色值。

通过在处理用于过程纹理的页面错误时对拼贴图进行采样,可以访问用于渲染用于纹理化地形网格的页面的拼贴信息。

再一次地,确保用于单个绘制调用的纹理信息被包含在过程虚拟纹理物理缓存的一个页面内,使得不需要维持间接纹理。

为了达到每个四边形1024×1024个纹理像素的分辨率,对于最高级别的细节,渲染节点分辨率为32乘32四边形,物理高速缓存内的页面至少为32768×32768个纹理像素。

页面的典型计数将是8×8(即64),意味着物理高速缓存将是262144×262144个纹理像素(即,用于rgba格式的256千兆字节的未压缩数据)。

因此,在本发明的实施例中,过程虚拟纹理的纹理像素分辨率限于每个四边形32×32纹理像素。典型的高速缓存分辨率是8192乘8192个纹理像素(即,256兆字节的未压缩数据或64兆字节,如果使用dxt5压缩)。

因此,为了实现每毫米1个纹理像素的优选选项,根据渲染节点到相机的距离,地形网格被分成两个段,即:

·近段。

·远段。

近段在渲染网格时直接从片段着色器执行纹理拼贴。如果应用到全地形网格上,这种操作可能变得非常昂贵,但是在这种情况下仅应用于相机周围的前n米的地形,其中n可以是阈值距离,例如在5-100米的范围内,这取决于主机系统的预期处理能力。因为该步骤不是高速缓存的,而是每帧执行,所以不必将任何额外的存储器分配到物理高速缓存中。以与之前获取用于渲染过程虚拟纹理的页面相同的方式从拼贴图虚拟纹理提取拼贴信息。

远段以与虚拟顶点纹理的采样类似的方式(即,将偏移和比率作为对片段着色器的统一输入进行传递)对过程虚拟纹理进行采样。因为该数据被缓存,所以可以利用帧到帧的一致性并且避免对于大多数渲染的地形网格的昂贵的纹理拼贴操作。

为了改善数据流传输性能,可以根据页面格式对虚拟纹理数据进行混合,使得可以使用单个磁盘读取来完全流化每个请求的页面。图6a-6c示出了示例高度图。

因此,总的来说,本发明的实施例允许以高保真结果实时渲染任意大的基于高度图的地形几何形状,同时降低存储器成本。算法的几个部分可以移动到gpu计算单元以减少实现的cpu影响。值得注意的是,通过消除对间接纹理的需要,虚拟纹理的有效面积/大小的增加不会导致物理存储器的消耗的相应缩放。

因此,所提出的技术在控制存储器使用方面比例如几何图形映射方面更加灵活/可扩展,并且是通用的,因为其允许在地形网格上任何任意分布lod块,而剪贴图lod分布必须居中在给定的位置(通常是观看者的视点)。

该技术在存储器使用方面也非常灵活;可以通过增加更多的存储器(更多和/或更大的页面)来增加渲染质量,并且因此可以很好地扩展到具有有限量的存储器的平台。

因此,现在还参考图7,在本发明的概述实施例中,一种图像渲染的方法包括:

-在第一步骤s710中,表示作为虚拟纹理的地形高程数据的高度图;

-在第二步骤s720中,在与用于渲染地形网格的渲染节点相对应的统一网格上对高度图地形高程数据的一部分进行采样;

-其中所述网格与所述渲染节点的对应导致渲染节点的采样地形高程数据完全包含在存储器的一个物理页面内;并且

-其中基于到物理页面坐标的偏移量而不是通过参考间接纹理来获得物理存储器的页面中的高度图虚拟坐标的等效位置;以及

-在第三步骤s730中,根据从与各个虚拟坐标对应的存储器的单个物理页面获得的地形高程数据渲染渲染节点的地形网格。

对本领域技术人员显而易见的是,对应于本文所描述和要求保护的装置的各种实施例的操作的上述方法的变型被认为在本发明的范围内,包括但不限于:

-用于渲染地形网格的渲染节点都具有相同的顶点分辨率,但是具有基于纹理像素数据的分辨率的渲染大小;

-使用四叉树递归算法收集节点,

-该算法包括检查渲染节点对于虚拟相机平截头体是否可见的子步骤;如果是,则基于相机距离估计一旦投影到屏幕上的渲染节点的大小;以及如果所述大小小于预定义的阈值,则将所述节点添加到要使用的渲染节点的列表;否则,对当前渲染节点的4个子节点中的每个子节点重复子步骤;

-当请求将用于虚拟位置的第一细节水平处的高度图地形高程数据加载到物理存储器中时,针对同一虚拟位置的一个或多个更粗糙水平的细节的高度图地形高程数据也被请求加载进入物理存储器;

-如果对于渲染节点的预期高度图地形高程数据在物理存储器中已经不可用,则在发送对预期高度图地形高程数据的请求的同时,可选地使用对应于的更粗糙水平的数据;

-请求针对多个渲染节点的预期高度图地形高程数据,所述多个渲染节点作为距用户视点的距离或位置的函数优先化;

-对于虚拟纹理具有比渲染节点的大小更大的页面大小,对来自虚拟纹理的数据进行过采样以获得每个顶点的多个法线;

-程序性地产生用于所述地形网格的装饰图形的虚拟纹理;

-在这种情况下,用于单个绘制调用的过程虚拟纹理数据被包含在物理高速缓存的一个页面内,并且物理存储器页面中的装饰纹理虚拟坐标的等效位置是基于到物理页面坐标的偏移量,而不是通过引用间接纹理;以及

-根据渲染节点到虚拟相机的距离将所述地形网格分为近段和远段;并且在渲染网格时仅通过直接从片段着色器进行纹理拼贴来纹理化用于近段的地形网格。

应当理解,上述方法可以在适当地适于由软件指令适用的常规硬件上执行,或者通过包括或替换专用硬件来执行。

因此,可以以包括存储在非暂时性机器可读介质上的处理器可执行指令的计算机程序产品的形式来实现对传统等效装置的现有部分的所需适配,所述非暂时性机器可读介质例如软盘、光盘、硬盘、prom、ram、闪存或这些或其它存储介质的任何组合,或者在硬件中实现为asic(专用集成电路)或fpga(现场可编程门阵列)或其它可配置电路,其适用于调整常规等效装置。单独地,这样的计算机程序可以经由诸如以太网、无线网络、因特网或这些或其它网络的任何组合的网络上的数据信号来传送。

合适的常规硬件可以包括娱乐设备,例如娱乐设备。图8示意性地示出了娱乐设备的总体系统架构。提供了系统单元10,具有可连接到系统单元的各种外围设备。

系统单元10包括作为单个芯片的加速处理单元(apu)20,该单个芯片又包括中央处理单元(cpu)20a和图形处理单元(gpu)20b。apu20可以访问随机存取存储器(ram)单元22。

apu20可选地经由i/o桥24与总线40通信,i/o桥24可以是离散组件或apu20的一部分。

连接到总线40的是数据存储部件,例如硬盘驱动器37和可操作以访问兼容光盘36a上的数据的驱动器36。另外,ram单元22可以与总线40通信。

可选地,还连接到总线40的是辅助处理器38。辅助处理器38可以被提供以运行或支持操作系统。

系统单元10经由音频/视频输入端口31、以端口32、无线链路33、无线链路34或一个或多个通用串行总线(usb)端口35与外围设备适当地通信。音频和视频可以经由诸如hdmi端口的av输出39输出。

外围设备可以包括单视场或立体视频相机41,例如playstation魔杖式视频游戏控制器42,例如playstation和传统的手持式视频游戏控制器43,例如便携式娱乐设备44,例如playstation和playstation键盘45和/或鼠标46;介质控制器47,例如以遥控器的形式;和耳机48。可以类似地考虑其他外围设备,例如打印机或3d打印机(未示出)。

可选地与cpu20a结合的gpu20b生成视频图像和音频以经由av输出39输出。可选地,音频可以与音频处理器(未示出)结合或替代地生成。

视频和可选的音频可以被呈现给电视51。在电视支持的情况下,视频可以是立体的。可以以诸如立体声、5.1环绕声或7.1环绕声的多种格式之一将音频呈现给家庭影院系统52。视频和音频可以同样被呈现给用户60佩戴的头戴式显示单元53。

在操作中,娱乐设备默认为操作系统,例如freebsd9.0的变体。操作系统可以在cpu20a、辅助处理器38或两者的混合上运行。操作系统向用户提供诸如playstation动态菜单的图形用户界面。菜单允许用户访问操作系统特征并选择游戏和可选的其他内容。

应当理解,本文对从磁盘访问的纹理数据的引用是非限制性的;可以考虑具有合适容量和访问/读取时间的任何合适的存储装置,包括固态盘、ram、rom和基于网络的存储。更一般地,所使用的存储装置将取决于主机平台(例如,诸如索尼的娱乐设备)。

因此,在本发明的概要实施例中,娱乐设备(例如sonyplaystation)包括存储装置(例如ram22、硬盘37或可通过无线链路34、以端口32或无线链路33访问的网络存储器),配置为保持表示地形高程数据的高度图的数据作为虚拟纹理;处理装置(诸如apu20和cpu20a),配置为在与用于渲染地形网格的渲染节点相对应的统一网格上对高度图地形高程数据的一部分进行采样;其中所述网格与所述渲染节点的对应导致渲染节点的采样地形高程数据完全包含在存储器的一个物理页面(例如ram22)内;并且其中基于到物理页面坐标的偏移量而不是通过参考间接纹理来获得所述娱乐设备的物理存储器的页面中的高度图虚拟坐标的等效位置;并且渲染装置(诸如apu20和cpu20a)配置为根据从对应于各个虚拟坐标的存储器的单个物理页面获得的地形高程数据。渲染渲染节点的地形网格。

在该概述实施例的实例中,处理器配置为将虚拟位置的第一细节水平的高度图地形高程数据以及用于相同的虚拟位置的一个或多个更粗糙水平的细节的数据,从存储装置加载到物理存储器。

类似地,在该概述实施例的实例中,取决于渲染节点到虚拟相机的距离,将地形网格分成近段和远段,并且渲染装置配置为通过在渲染网格时直接从片段着色器纹理拼贴,仅对近段纹理化地形网格。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1