【技术实现步骤摘要】
【国外来华专利技术】用于与硬件实例化兼容的GPU的压缩可见性状态
本公开涉及计算机设备和图形处理。
技术介绍
当前,在图形学中,在为计算机游戏渲染几何基元之前,会建立一个列表,该列表指示哪些网格实例和基元可见。如此,计算机游戏越来越多地对网格实例和基元进行预处理以确定它们的可见性,作为在执行常规图形处理单元(GPU)渲染管线之前的预处理。为此,计算机游戏必须写出网格实例数据和基元的每帧列表来进行处理。通常在中央处理单元(CPU)上完成每个实例数据的可见性测试和压缩。通常,GPU上的计算着色器可以确定基元是否可见,通常基元是三角形。每个GPU线程处理单个三角形,进行测试,以确保三角形正面面向观察者,不在屏幕外,不为零区域和/或没有被遮挡。如果三角形可见,则每个线程将写出三角形的三个顶点索引。它还递增了要渲染的三角形的总数目。该GPU的渲染管线需要32位或16位顶点索引。当不使用三角形预剔除时,由于压缩的存储方式,最常使用16位。但是,在剔除阶段,计算着色器通常无法仅写入16位存储器。因此,如果要使用16位索引,则实施方式会将输出索引缓冲器预先清零(其具有成本),然后对顶点索引的高16位或低16位进行原子或运算,这将与由不同的GPU线程写入的三角形索引共享32位字。该线程可以将其他两个顶点索引打包到单个32位写入中。因此,每个线程必须计算出第一个或最后一个顶点索引中哪个需要原子或,然后将这三个索引打包为正确的16位。由于这种复杂性和原子运算的使用,许多实施方式选择使用32位索引,但这增加了存储器成本和带宽要求。一旦剔 ...
【技术保护点】
1.一种计算机设备,包括:/n存储器,用于存储数据和指令;/n处理器,与所述存储器通信;/n图形处理单元;/n操作系统,与所述存储器、所述处理器和所述图形处理单元通信,其中所述图形处理单元可操作用于:/n加载包括多个基元的基元可见性缓冲器,所述多个基元表示应用的场景中的至少一个实例,其中所述基元可见性缓冲器包括针对所述多个基元中的每个基元的可见性位,所述可见性位将针对所述多个基元中的每个基元的可见性状态描述为可见或不可见;/n基于所述可见性位,确定所述多个基元中的每个基元在所述场景中是否可见;/n当针对基元的所述可见性位指示所述基元可见时,渲染所述基元;以及/n当针对所述基元的所述可见性位指示所述基元不可见时,跳过所述基元的所述渲染。/n
【技术特征摘要】
【国外来华专利技术】20180419 US 15/957,4711.一种计算机设备,包括:
存储器,用于存储数据和指令;
处理器,与所述存储器通信;
图形处理单元;
操作系统,与所述存储器、所述处理器和所述图形处理单元通信,其中所述图形处理单元可操作用于:
加载包括多个基元的基元可见性缓冲器,所述多个基元表示应用的场景中的至少一个实例,其中所述基元可见性缓冲器包括针对所述多个基元中的每个基元的可见性位,所述可见性位将针对所述多个基元中的每个基元的可见性状态描述为可见或不可见;
基于所述可见性位,确定所述多个基元中的每个基元在所述场景中是否可见;
当针对基元的所述可见性位指示所述基元可见时,渲染所述基元;以及
当针对所述基元的所述可见性位指示所述基元不可见时,跳过所述基元的所述渲染。
2.根据权利要求1所述的计算机设备,其中在所述图形处理单元渲染所述多个基元的所述应用的运行时之前,通过对所述多个基元执行一个或多个剔除操作,以确定所述多个基元的预先计算的可见性状态,针对所述多个基元中的每个基元的所述可见性位被确定。
3.根据权利要求1所述的计算机设备,其中在所述应用的运行时,通过至少基于当前的相机位置,对所述多个基元执行一个或多个剔除操作,针对所述多个基元中的每个基元的所述可见性状态被确定。
4.根据权利要求1所述的计算机设备,其中所述图形处理单元还可操作用于:
加载实例可见性缓冲器,所述实例可见性缓冲器包括所述场景中的多个实例,其中所述实例可见性缓冲器包括针对所述多个实例中的每个实例的实例可见性位,所述实例可见性位描述针对所述多个实例中的每个实例的所述可见性状态;
使用所述实例可见性位,确定所述多个实例中的每个实例在所述场景中是否可见;
读取针对所述多个实例中的每个如下实例的所述基元的所述位,该实例的所述实例可见性位指示为可见;
跳过所述多个实例中的每个如下实例的所述基元的处理,该实例的所述实例可见性位指示为不可见;以及
跳过所述多个实例中的每个如下实例的进一步处理,该实例的所述实例可见性位指示为不可见。
5.根据权利要求4所述的计算机设备,其中通过对所述多个实例执行一个或多个剔除操作,以确定所述多个实例的所述可见性状态,针对所述多个实例中的每个实例的所述实例可见性位被确定。
6.根据权利要求4所述的计算机设备,其中针对所述多个实例中的每个实例的所述实例可见性位至少基于所述多个实例中的每个实例的预先计算的可见性被确定。
7.根据权利要求1所述的计算机设备,其中所述图形处理单元还可操作用于:
传送所渲染的所述基元以在显示器上呈现。
8.一种用于在应用的场景中渲染可见基元的方法,包括:
在所述计算机设备上执行的图形处理单元处,加载基元可见性缓冲器,所述基元可见性缓冲器包括多个基元...
【专利技术属性】
技术研发人员:J·D·怀特,M·J·I·福勒,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。