CN115830201A - 一种基于聚簇的粒子系统优化渲染方法和装置 - Google Patents
一种基于聚簇的粒子系统优化渲染方法和装置 Download PDFInfo
- Publication number
- CN115830201A CN115830201A CN202211467735.6A CN202211467735A CN115830201A CN 115830201 A CN115830201 A CN 115830201A CN 202211467735 A CN202211467735 A CN 202211467735A CN 115830201 A CN115830201 A CN 115830201A
- Authority
- CN
- China
- Prior art keywords
- particle
- level
- detail
- cluster
- bounding box
- 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
Links
- 239000002245 particle Substances 0.000 title claims abstract description 193
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000009877 rendering Methods 0.000 title claims abstract description 36
- 238000005457 optimization Methods 0.000 title claims description 12
- 230000015556 catabolic process Effects 0.000 claims abstract description 13
- 238000006731 degradation reaction Methods 0.000 claims abstract description 13
- 239000012634 fragment Substances 0.000 claims abstract description 12
- 238000012163 sequencing technique Methods 0.000 claims abstract description 10
- 238000005070 sampling Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 4
- 239000000872 buffer Substances 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 4
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000012905 visible particle Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种基于聚簇的粒子系统优化渲染方法和装置,包括:在粒子系统更新后,为每个有效粒子计算其空间位置的编码;依据编码对有效粒子的索引进行GPU排序,在排序结果中,以N个相邻粒子作为单个粒子簇进行粒子簇划分;计算个粒子簇在屏幕空间的包围盒,并为粒子簇生成简易纹理;在任务着色器中,依据包围盒对粒子簇剔除后,为剩余粒子簇依据包围盒尺寸选择多层次细节级别,包括进化层次细节级别、默认层次细节级别、退化层次细节级别;在网格着色器中,依据选择的层次细节级别为粒子簇生成几何信息;在片元着色器中,依据选择的层次细节级别和简易纹理进行纹理绘制。该方法和装置能够较为显著的提高复杂粒子系统的绘制效率。
Description
技术领域
本发明属于实时绘制领域,具体涉及一种基于聚簇的粒子系统优化渲染方法和装置。
背景技术
在实时绘制领域,粒子系统是构成场景的重要组成部分,并且往往由于其使用透明度纹理带来较多不必要的开销。其中,粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现真实感的物理运动规律。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。
然而当前,绘制优化的研究与系统实践主要都集中于静态三角形网格上。其中绘制优化的途径包含剔除、多层次细节、合批绘制等等,绘制优化的系统实践则有GPU驱动管线、Nanite等,它们都将静态网格作为主要服务对象。
剔除是绘制优化的重要途径,通过将对输出结果没有贡献的三角形乃至物体进行剔除,可以减少不必要的绘制开销,加快渲染速度。常用的剔除方法包括视锥体剔除、遮挡剔除、背向面剔除、小三角剔除等。剔除测试计算本身也会带来一定的额外开销,因而仅仅当绘制优化提升大于剔除测试开销时该优化才有实践性意义。由于场景中三角形数目往往较大,因而逐三角形的剔除测试可能过于昂贵,同时生成相应的绘制调用也并不方便;逐物体的剔除测试往往非常迅捷,然而当物体的网格较为复杂时就难以进行有效的剔除。Ubisoft提出了网格簇,将固定数量的三角形分为一簇,作为剔除测试的主要粒度,并在此基础上提出了GPU驱动管线。网格簇大小适中,避免了逐三角形与逐物体的短板,也能够使用GPU实例化进行统一的绘制调用。
多层次细节同样是绘制优化的重要途径。最传统的实现中,对于同一个物体的网格生成多个层次的简化,当网格距离相机较远时则使用更加简化的网格表示,以减少绘制开销。该方法背后的洞察在于,远处物体的采样样本点少,因而有效采样相对低频,不再需要提供高频信息,因而也可以使用低频的简化网格体。逐物体生成与选取多层次细节的方式当前依然是主流,然而与采用网格簇的GPU剔除管线很难形成有机结合。Epic Games在UE5中提出Nanite,将多层次细节与网格簇较好的结合在一起,带来了显著的效果提升。
但是以上的方法都仅仅能够处理静态网格体,对于预计算有较强的依赖。而对于粒子系统的渲染优化,则鲜有相关的研究。
发明内容
鉴于上述,本发明的目的就是提供一种基于聚簇的粒子系统优化渲染方法,该方法能够在每一帧中实时地对动态粒子进行聚簇,并以粒子簇为粒度进行高效的剔除以及多层次细节生成与选取,显著提高绘制效率。
为实现上述发明目的,实施例提供的一种基于聚簇的粒子系统优化渲染方法,包括以下步骤:
步骤1,在粒子系统更新后,为每个有效粒子计算其空间位置的编码;
步骤2,依据空间位置的编码对有效粒子的索引进行GPU排序,在排序结果中,以N个相邻粒子作为单个粒子簇进行粒子簇划分;
步骤3,计算每个粒子簇在屏幕空间的包围盒,并为粒子簇生成简易纹理;
步骤4,在任务着色器中,依据包围盒对粒子簇剔除后,为剩余粒子簇依据包围盒尺寸选择多层次细节级别,包括进化层次细节级别、默认层次细节级别、退化层次细节级别;
步骤5,在网格着色器中,依据选择的层次细节级别为粒子簇生成几何信息;
步骤6,在片元着色器中,依据选择的层次细节级别和简易纹理进行纹理绘制。
优选地,采用莫顿码对每个有效粒子的空间位置进行编码,并采用32位无符号整型记录每个粒子的莫顿码。
优选地,所述包围盒采用AABB包围盒,计算每个粒子簇在屏幕空间的AABB包围盒,包括:首先计算每个粒子自身的空间包围球,将每个粒子的空间包围球投影到屏幕空间得到在屏幕空间的AABB包围盒,最后合并粒子簇内所有粒子的AABB包围盒得到粒子簇在屏幕空间的AABB包围盒。
优选地,依据包围盒对粒子簇剔除,包括:通过比较包围盒与xy轴上0/1边界以及z轴上近远裁剪平面进行视锥体剔除,使用层级深度缓冲进行遮挡剔除,当包围盒任意方向尺寸小于等于1个像素阈值时进行尺寸过小剔除。
优选地,所述为剩余粒子簇依据包围盒尺寸选择多层次细节级别,包括:
当包围盒尺寸大于第一阈值,则选择进化层次细节级别;当包围盒尺寸小于第二阈值,则选择退化层次细节级别;当包围盒尺寸大于等于第二阈值且小于等于第一阈值,则选择默认层次细节级别,其中,第一阈值大于第二阈值。
依据选择的层次细节级别为粒子簇生成几何信息,包括:
进化层次细节级别对应的几何信息绘制为:采用比公告板更复杂的多边形以紧凑的方式逼近透明贴图的不透明边缘,以减少过绘制或不必要的片元调用开销;退化层次细节级别对应的几何信息绘制方式为:对整个聚类簇使用簇的屏幕空间包围盒作为单个公告板进行绘制;默认层次细节级别对应的几何信息绘制方式为:采用公告板粒子系统中默认的逐粒子公告板绘制每个粒子。
优选地,所述为粒子簇生成简易纹理,包括:对属于退化层次细节级别的粒子簇的包围盒进行网格划分,并将每个格子的中心点作为采样点,测试每个粒子是否覆盖采样点来生成简易纹理。
优选地,在任务着色器中,每个线程处理一个粒子簇,即每个线程对一个粒子簇进行剔除判断后,剔除粒子簇或选择层次细节级别。
优选地,在存储粒子簇时,还存储为每个粒子簇选择的层次细节级别,其中,00表示默认层次细节级别,01表示进化层次细节级别前半簇,11表示进化层次细节级别后半簇,10表示退化层次细节级别。
优选地,在片元着色器中,如果使用退化层次细节级别,则使用简易纹理信息进行绘制,具体包括:使用纹理坐标对简易纹理进行采样,如果使用加法透明度混合,则采用简易纹理的数值乘以粒子公告板纹理的平均颜色值作为输出像素;如果使用透明度裁切,则依据简易纹理的数值大于0还是等于0选择是否使用平均颜色值输出还是丢弃当前像素;
如果使用进化层次细节级别和默认层次细节级别,采用粒子系统的默认绘制方式。
为实现上述发明目的,实施例还提供了一种基于聚簇的粒子系统优化渲染方法装置,包括存储器、处理器以及存储在存储器中并可在所述处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现以下上述基于聚簇的粒子系统优化渲染方法。
与现有技术相比,本发明具有的有益效果至少包括:
通过高效的粒子系统聚簇方法快速得到粒子簇,并以粒子簇位基点执行快速的剔除以及多层次细节级别生成及选择,从而减少了粒子系统绘制任务中的无效或低效部分,提高了绘制效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的基于聚簇的粒子系统优化渲染方法的流程图;
图2是实施例提供的公告板粒子系统通用三层次细节体系示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
为了实现对动态粒子的在线实时渲染,实施例提供了一种基于聚簇的粒子系统优化渲染方法,如图1所示,包括以下步骤:
步骤1,在粒子系统更新后,为每个有效粒子计算其空间位置的编码。
实施例中,可以采用莫顿码对每个有效粒子(有效粒子理解为可见粒子)的空间位置进行编码,并采用32位无符号整型记录每个粒子的莫顿码。具体地,对于粒子系统每个维度的坐标,根据粒子系统的整体包围信息归一化到[0,1]范围后,再扩展到[0,1023]范围内,亦即是每个维度使用10位表征,三维的粒子系统总共使用30位,存储为32位无符号整型。
步骤2,依据空间位置的编码对有效粒子的索引进行GPU排序,在排序结果中,以N个相邻粒子作为单个粒子簇进行粒子簇划分。
实施例中,采用莫顿码对有效粒子的索引进行CPU排序,在排序后的索引数组中,每16个相邻索引对应粒子共同构成一个粒子簇,依此进行粒子簇划分。
具体地,可以使用了文章《Andy Adinets.A Faster Radix SortImplementation.NVIDIA GTC 2020》中的排序方法,并对于32位无符号整型的情况进行了特化,使用计算着色器实现GPU上的基数排序,采取了一系列优化措施,包括将次处理位数扩展到8位,每个线程处理8个数据,引入线程束内通信指令,原子加法快速统计,对齐输出等。在计算前缀时使用了文章《Merrill D.SINGLE-PASS PARALLEL PREFIX SCAN WITHDYNAMIC LOOK BACK》的方法,并且通过预计算直方图进一步解耦不同数值之间的前缀和求解依赖关系。
步骤3,计算每个粒子簇在屏幕空间的包围盒,并为粒子簇生成简易纹理。
实施例中,包围盒采用AABB包围盒,即计算每个粒子簇在屏幕空间的AABB包围盒,生成的包围盒信息被记录在存储缓冲区上。具体地,首先对于每个粒子计算其相机空间包围球信息,然后使用文章《Mara,McGrover."2D Polyhedral Bounds of a Clipped,Perspective-Projected 3D sphere."NVIDIA and Willianms College.Journal ofComputer Graphics Techniques,2013,Vol.2,No.2》中的方法将每个粒子的空间包围球投影为屏幕空间的AABB包围盒。由于每个粒子簇仅由16个粒子组成,因而在同一线程束内使用subgroupClusteredMin/subgroupClusteredMax将每个粒子的AABB包围盒聚合为整个粒子簇的AABB包围盒,并进行记录。
实施例中,使用近似的软光栅为粒子簇生成4x4的简易纹理,生成的简易纹理同样也记录在存储缓冲区上。具体地,采用退化层次细节级别的粒子簇计算简易纹理。简易纹理的大小为4x4,共16个像素,每个像素使用4位记录,总存储开销为64位,可压缩编码为两个32位浮点数,使用vec2表示。由于屏幕空间AABB包围盒共存储xyz三轴向上的最小最大值信息,共构成6个浮点数,因而可以共同使用两个vec4存储。生成简易纹理的过程是,将屏幕空间AABB包围盒均分为4x4并且找到每个格子的中心点作为采样点。对于每个粒子测试是否覆盖采样点,如果覆盖则统计自动加1,否则不做处理。最后打包时,16个粒子最多覆盖同一个采样点16次,可以简单截断为15。
步骤4,在任务着色器中,依据包围盒对粒子簇剔除后,为剩余粒子簇依据包围盒尺寸选择多层次细节级别。
在任务着色器中,每个线程处理一个粒子簇。具体地,首先测试粒子簇的包围盒以实现对粒子簇的剔除。具体包括:通过比较包围盒(例如AABB包围盒)与xy轴上0/1边界以及z轴上近远裁剪平面进行视锥体剔除,使用层级深度缓冲进行遮挡剔除,当包围盒任意方向尺寸小于1个像素阈值时进行尺寸过小剔除。
实施例中,对于经过剔除处理剩余的粒子簇,进行依据包围盒尺寸选择多层次细节级别中任意层次细节级别。具体包括:当包围盒尺寸大于第一阈值,则选择进化层次细节级别;当包围盒尺寸小于第二阈值,则选择退化层次细节级别;当包围盒尺寸大于等于第二阈值且小于等于第一阈值,则选择默认层次细节级别。其中,第一阈值大于第二阈值,依据实际应用需求设置具体值。
如图2所示,实施例提供了公告板粒子系统通用三层次细节体系。在默认层次细节级别,使用如图2中(b)所示的矩形公告板绘制每个粒子。在屏幕占比较大时采用进化层次细节级别,此时,使用一个更加贴合透明贴图不透明边缘的多边形(例如如图2中(a)所示的五角星)网格替代矩形。这样做会一定量地增加顶点的计算量,然而在屏幕占比较大时,粒子系统绘制的瓶颈在于片元计算与输出,因而该进化层次细节级别使用更加复杂的网格能够减少过绘制或者无效的片元计算调用,从事实上能够显著减少绘制开销。
在屏幕占比较小时,采用退化层次细节级别,此时,整个粒子簇仅仅绘制一个矩形来替代原本的16个矩形,如图2中(c)所示,以便于减少整体的几何复杂度,其主要思想类似于HLoD。该矩形恰好使用粒子簇的屏幕空间AABB包围盒,并且利用计算包围盒时同时生成的4x4简易纹理指导近似绘制。由于屏幕占比较小时瓶颈在于顶点计算,而该做法能够以16倍减少顶点计算量,因而也能够带来显著的性能提升。
步骤5,在在网格着色器中,依据选择的层次细节级别为粒子簇生成几何信息,包括选择对应网格、进行顶点变换计算、统计提交。
实施例中,任务着色器需要传递信息给其派发的网格着色器决定其需要处理哪个粒子簇。可以通过任务着色器向其派发出的所有网格着色器传递一套片上数据。例如,传递一个uint id[32]数组,每一个网格着色器可以使用WorkgroupID作为索引取出数组中的无符号整型id[WorkgroupID],该数据就是粒子簇的索引。线程组内的前缀和计算只需要使用线程组原语subgroupBallotExclusiveBitCount即可完成,找到粒子簇索引的正确输出位置。由于任务着色器处理的32个粒子簇是连号的,因此只需要记录第一个粒子簇的编号作为起点,则每个粒子簇都可以使用小于32的偏移量表示,仅仅需要5比特。为了对齐每个偏移用uint8记录。
实施例中,依据包围盒为每个粒子簇进行多层次细节级别选择。并且使用uint8偏移指示中未被使用的高2位指示多层次细节级别选择结果,00表示默认层次细节级别,01表示进化层次细节级别前半簇,11表示进化层次细节级别后半簇,10表示退化层次细节级别。
实施例中,在进行网格生成时使用八边形作为层次网格,因此需要派发两个网格着色器工作组才能够完成一个粒子簇的几何信息构造,因此01则表示在处理粒子簇内的前8个粒子,11则处理后8个粒子。线程束原语统计中仅仅能供方便的统计0与1的总和以及前缀和。为性能考虑,分两次统计,在第一次统计中,使用进化层次细节级别的粒子簇也仅仅投票1;在第二次统计中,额外统计那些使用进化层次细节级别的粒子簇,并在输出偏移上加上第一次统计的总数。因此它们先后被统计两次,达到了派发目标。
实施例中,每个网格着色器中任务组可以输出16个矩形几何信息,因而为了充分利用函数SIMT所有的退化层次粒子簇应该共同使用1到2个网格着色器任务组统一处理。在处理完所有普通与进化层次的偏移后,首先在后面添加两个用于派发最退化层次任务的偏移。由于此时每个网格着色器对应的不再是一个粒子簇,而是至多16个粒子簇,因而6位的数据不再能够包括所有索引信息。作为代替,在原来应当记录索引偏移量的6位区域存储待处理粒子簇数目。
实施例中,每个网格着色器中工作组可以输出16个矩形几何信息,共计64个顶点,32个图元,96个索引。使用2个线程共同生成一个矩形的几何信息,32个线程则能够共同用于生成16个矩形几何信息。进化层次下,由于其特殊性输出8个八边形,共计64个顶点,48个图元,144个索引,且仅仅对应8个粒子,需要两个工作组才能够生成完整的16粒子粒子簇几何信息。由于网格着色器工作组总是处理同一个粒子簇内的粒子,而多层次细节的选择是逐粒子簇的,因而任务组内总是走入程序的同一分支,因而生成网格的不同分支不会影响SIMT下的运行效率。
步骤6,在片元着色器中,依据选择的层次细节级别和简易纹理进行纹理绘制。
在片元着色器绘制时,使用一个逐簇生成的纹理,其通过对簇内所有粒子进行近似软光栅得到,能够近似表达粒子在粒子簇包围盒内的绘制结果。
本实施例中,当片上传输信息中b通道为-1时标记为使用退化层次细节级别。其中rg通道的两个32位浮点数用于打包32位的4x4简易纹理。使用纹理坐标对于4x4简易纹理进行采样,采样结果指导绘制的方式与粒子本身的绘制方式高度相关。如果使用加法透明度混合,则采用简易纹理的数值乘以粒子公告板纹理的平均颜色值作为输出像素;如果使用透明度裁切,则依据简易纹理的数值大于0还是等于0选择是否使用平均颜色值输出还是丢弃当前像素。
基于同样的发明构思,实施例还提供了一种基于聚簇的粒子系统优化渲染方法装置,包括存储器、处理器以及存储在存储器中并可在处理器上执行的计算机程序,处理器执行所述计算机程序时实现上述基于聚簇的粒子系统优化渲染方法,包括以下步骤:
步骤1,在粒子系统更新后,为每个有效粒子计算其空间位置的编码;
步骤2,依据空间位置的编码对有效粒子的索引进行GPU排序,在排序结果中,以N个相邻粒子作为单个粒子簇进行粒子簇划分;
步骤3,计算个粒子簇在屏幕空间的包围盒,并为粒子簇生成简易纹理;
步骤4,在任务着色器中,依据包围盒对粒子簇剔除后,为剩余粒子簇依据包围盒尺寸选择多层次细节级别中层次细节级别;
步骤5,在网格着色器中,依据选择的层次细节级别为粒子簇生成几何信息;
步骤6,在片元着色器中,依据选择的层次细节级别和简易纹理进行纹理绘制。
需要说明的是,实际应用中,计算机存储器可以为在近端的易失性存储器,如RAM,还可以是非易失性存储器,如ROM,FLASH,软盘,机械硬盘等,还可以是远端的存储云。计算机处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA),即可以通过这些处理器实现基于聚簇的粒子系统优化渲染方法的步骤。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于聚簇的粒子系统优化渲染方法,其特征在于,包括以下步骤:
步骤1,在粒子系统更新后,为每个有效粒子计算其空间位置的编码;
步骤2,依据空间位置的编码对有效粒子的索引进行GPU排序,在排序结果中,以N个相邻粒子作为单个粒子簇进行粒子簇划分;
步骤3,计算每个粒子簇在屏幕空间的包围盒,并为粒子簇生成简易纹理;
步骤4,在任务着色器中,依据包围盒对粒子簇剔除后,为剩余粒子簇依据包围盒尺寸选择多层次细节级别,包括进化层次细节级别、默认层次细节级别、退化层次细节级别;
步骤5,在网格着色器中,依据选择的层次细节级别为粒子簇生成几何信息;
步骤6,在片元着色器中,依据选择的层次细节级别和简易纹理进行纹理绘制。
2.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,采用莫顿码对每个有效粒子的空间位置进行编码,并采用32位无符号整型记录每个粒子的莫顿码。
3.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,所述包围盒采用AABB包围盒,计算每个粒子簇在屏幕空间的AABB包围盒,包括:首先计算每个粒子自身的空间包围球,将每个粒子的空间包围球投影到屏幕空间得到在屏幕空间的AABB包围盒,最后合并粒子簇内所有粒子的AABB包围盒得到粒子簇在屏幕空间的AABB包围盒。
4.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,依据包围盒对粒子簇剔除,包括:通过比较包围盒与xy轴上0/1边界以及z轴上近远裁剪平面进行视锥体剔除,使用层级深度缓冲进行遮挡剔除,当包围盒任意方向尺寸小于等于1个像素阈值时进行尺寸过小剔除。
5.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,所述为剩余粒子簇依据包围盒尺寸选择多层次细节级别,包括:
当包围盒尺寸大于第一阈值,则选择进化层次细节级别;当包围盒尺寸小于第二阈值,则选择退化层次细节级别;当包围盒尺寸大于等于第二阈值且小于等于第一阈值,则选择默认层次细节级别,其中,第一阈值大于第二阈值。
依据选择的层次细节级别为粒子簇生成几何信息,包括:
进化层次细节级别对应的几何信息绘制为:采用比公告板更复杂的多边形以紧凑的方式逼近透明贴图的不透明边缘;退化层次细节级别对应的几何信息绘制方式为:对整个聚类簇使用簇的屏幕空间包围盒作为单个公告板进行绘制;默认层次细节级别对应的几何信息绘制方式为:采用公告板粒子系统中默认的逐粒子公告板绘制每个粒子。
6.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,所述为粒子簇生成简易纹理,包括:对属于退化层次细节级别的粒子簇的包围盒进行网格划分,并将每个格子的中心点作为采样点,测试每个粒子是否覆盖采样点来生成简易纹理。
7.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,在任务着色器中,每个线程处理一个粒子簇,即每个线程对一个粒子簇进行剔除判断后,剔除粒子簇或选择层次细节级别。
8.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,在存储粒子簇时,还存储为每个粒子簇选择的层次细节级别,其中,00表示默认层次细节级别,01表示进化层次细节级别前半簇,11表示进化层次细节级别后半簇,10表示退化层次细节级别。
9.根据权利要求1所述的基于聚簇的粒子系统优化渲染方法,其特征在于,在片元着色器中,如果使用退化层次细节级别,则使用简易纹理信息进行绘制,具体包括:使用纹理坐标对简易纹理进行采样,如果使用加法透明度混合,则采用简易纹理的数值乘以粒子公告板纹理的平均颜色值作为输出像素;如果使用透明度裁切,则依据简易纹理的数值大于0还是等于0选择是否使用平均颜色值输出还是丢弃当前像素;
如果使用进化层次细节级别和默认层次细节级别,采用粒子系统的默认绘制方式。
10.一种基于聚簇的粒子系统优化渲染方法装置,包括存储器、处理器以及存储在存储器中并可在所述处理器上执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下权利要求1-9任一项所述的基于聚簇的粒子系统优化渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211467735.6A CN115830201B (zh) | 2022-11-22 | 2022-11-22 | 一种基于聚簇的粒子系统优化渲染方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211467735.6A CN115830201B (zh) | 2022-11-22 | 2022-11-22 | 一种基于聚簇的粒子系统优化渲染方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115830201A true CN115830201A (zh) | 2023-03-21 |
CN115830201B CN115830201B (zh) | 2024-05-24 |
Family
ID=85530252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211467735.6A Active CN115830201B (zh) | 2022-11-22 | 2022-11-22 | 一种基于聚簇的粒子系统优化渲染方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115830201B (zh) |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070171234A1 (en) * | 2006-01-24 | 2007-07-26 | Roger Crawfis | System and method for asynchronous continuous-level-of-detail texture mapping for large-scale terrain rendering |
CN101241603A (zh) * | 2008-03-10 | 2008-08-13 | 电子科技大学 | 一种电磁场强度实时可视化方法 |
CN101751694A (zh) * | 2008-12-10 | 2010-06-23 | 中国科学院自动化研究所 | 一种对复杂叶片的快速简化和绘制方法 |
CN102915559A (zh) * | 2012-08-22 | 2013-02-06 | 北京航空航天大学 | 一种基于三维点云的实时透明物体gpu并行生成方法 |
CN103049931A (zh) * | 2012-12-17 | 2013-04-17 | 南京信息工程大学 | 基于粒子系统的云团快速三维仿真算法 |
CN104615481A (zh) * | 2015-02-10 | 2015-05-13 | 西安理工大学 | 一种基于簇聚类的风吹有叶树摇曳模拟方法 |
WO2018113502A1 (zh) * | 2016-12-23 | 2018-06-28 | 浙江大学 | 一种自动生成网格与着色器多层次细节的方法 |
CN108536880A (zh) * | 2017-03-06 | 2018-09-14 | 上海盟云移软网络科技股份有限公司 | 一种虚拟现实系统的随机碰撞检测算法 |
CN109657411A (zh) * | 2019-01-18 | 2019-04-19 | 华东理工大学 | 一种基于数据驱动的溶剂脱沥青装置建模及优化方法 |
CN111051993A (zh) * | 2017-09-08 | 2020-04-21 | Asml荷兰有限公司 | 用于机器学习辅助的光学邻近误差校正的训练方法 |
CN111068310A (zh) * | 2019-11-21 | 2020-04-28 | 珠海剑心互动娱乐有限公司 | 一种实现游戏地图无缝加载的方法及系统 |
CN112085824A (zh) * | 2020-09-18 | 2020-12-15 | 桂林理工大学 | 一种基于空间多尺度重构的海洋实时渲染系统及方法 |
CN112580846A (zh) * | 2019-09-27 | 2021-03-30 | 现代自动车株式会社 | 利用影响分析基于粒子群优化算法对约束装置规格进行优化的装置及方法 |
CN112991534A (zh) * | 2021-03-26 | 2021-06-18 | 中国科学技术大学 | 一种基于多粒度物体模型的室内语义地图构建方法及系统 |
CN113096252A (zh) * | 2021-03-05 | 2021-07-09 | 华中师范大学 | 一种混合增强教学场景中多移动机制融合方法 |
CN113269733A (zh) * | 2021-05-14 | 2021-08-17 | 成都真实维度科技有限公司 | 一种断层扫描图像中放射粒子的伪影检测方法 |
CN113808243A (zh) * | 2021-09-23 | 2021-12-17 | 光线云(杭州)科技有限公司 | 一种可形变雪地网格的绘制方法和装置 |
CN114169517A (zh) * | 2020-08-20 | 2022-03-11 | 辉达公司 | 生成优化的神经网络 |
US20220222480A1 (en) * | 2021-01-12 | 2022-07-14 | Nvidia Corporation | Neighboring bounding box aggregation for neural networks |
CN114972742A (zh) * | 2021-02-16 | 2022-08-30 | 辉达公司 | 使用神经网络执行对象检测、实例分割和来自包围盒监督的语义对应关系 |
CN114972595A (zh) * | 2022-05-05 | 2022-08-30 | 北京领为军融科技有限公司 | 基于几何信息的粒子系统渲染优化方法 |
CN115082609A (zh) * | 2022-06-14 | 2022-09-20 | Oppo广东移动通信有限公司 | 图像渲染方法、装置、存储介质及电子设备 |
-
2022
- 2022-11-22 CN CN202211467735.6A patent/CN115830201B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070171234A1 (en) * | 2006-01-24 | 2007-07-26 | Roger Crawfis | System and method for asynchronous continuous-level-of-detail texture mapping for large-scale terrain rendering |
CN101241603A (zh) * | 2008-03-10 | 2008-08-13 | 电子科技大学 | 一种电磁场强度实时可视化方法 |
CN101751694A (zh) * | 2008-12-10 | 2010-06-23 | 中国科学院自动化研究所 | 一种对复杂叶片的快速简化和绘制方法 |
CN102915559A (zh) * | 2012-08-22 | 2013-02-06 | 北京航空航天大学 | 一种基于三维点云的实时透明物体gpu并行生成方法 |
CN103049931A (zh) * | 2012-12-17 | 2013-04-17 | 南京信息工程大学 | 基于粒子系统的云团快速三维仿真算法 |
CN104615481A (zh) * | 2015-02-10 | 2015-05-13 | 西安理工大学 | 一种基于簇聚类的风吹有叶树摇曳模拟方法 |
WO2018113502A1 (zh) * | 2016-12-23 | 2018-06-28 | 浙江大学 | 一种自动生成网格与着色器多层次细节的方法 |
CN108536880A (zh) * | 2017-03-06 | 2018-09-14 | 上海盟云移软网络科技股份有限公司 | 一种虚拟现实系统的随机碰撞检测算法 |
CN111051993A (zh) * | 2017-09-08 | 2020-04-21 | Asml荷兰有限公司 | 用于机器学习辅助的光学邻近误差校正的训练方法 |
CN109657411A (zh) * | 2019-01-18 | 2019-04-19 | 华东理工大学 | 一种基于数据驱动的溶剂脱沥青装置建模及优化方法 |
CN112580846A (zh) * | 2019-09-27 | 2021-03-30 | 现代自动车株式会社 | 利用影响分析基于粒子群优化算法对约束装置规格进行优化的装置及方法 |
CN111068310A (zh) * | 2019-11-21 | 2020-04-28 | 珠海剑心互动娱乐有限公司 | 一种实现游戏地图无缝加载的方法及系统 |
CN114169517A (zh) * | 2020-08-20 | 2022-03-11 | 辉达公司 | 生成优化的神经网络 |
CN112085824A (zh) * | 2020-09-18 | 2020-12-15 | 桂林理工大学 | 一种基于空间多尺度重构的海洋实时渲染系统及方法 |
US20220222480A1 (en) * | 2021-01-12 | 2022-07-14 | Nvidia Corporation | Neighboring bounding box aggregation for neural networks |
CN114972742A (zh) * | 2021-02-16 | 2022-08-30 | 辉达公司 | 使用神经网络执行对象检测、实例分割和来自包围盒监督的语义对应关系 |
CN113096252A (zh) * | 2021-03-05 | 2021-07-09 | 华中师范大学 | 一种混合增强教学场景中多移动机制融合方法 |
CN112991534A (zh) * | 2021-03-26 | 2021-06-18 | 中国科学技术大学 | 一种基于多粒度物体模型的室内语义地图构建方法及系统 |
CN113269733A (zh) * | 2021-05-14 | 2021-08-17 | 成都真实维度科技有限公司 | 一种断层扫描图像中放射粒子的伪影检测方法 |
CN113808243A (zh) * | 2021-09-23 | 2021-12-17 | 光线云(杭州)科技有限公司 | 一种可形变雪地网格的绘制方法和装置 |
CN114972595A (zh) * | 2022-05-05 | 2022-08-30 | 北京领为军融科技有限公司 | 基于几何信息的粒子系统渲染优化方法 |
CN115082609A (zh) * | 2022-06-14 | 2022-09-20 | Oppo广东移动通信有限公司 | 图像渲染方法、装置、存储介质及电子设备 |
Non-Patent Citations (6)
Title |
---|
BING-NAN LU: "Breaking and restoration of rotational symmetry on the lattice for bound state multiplets", 《ARXIV》, 31 March 2014 (2014-03-31) * |
CHAO XU: "Multi-Scale Hybrid Micro-Appearance Modeling and Realtime Rendering of Thin Fabrics", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS ( VOLUME: 27, ISSUE: 4, 01 APRIL 2021)》, 30 October 2019 (2019-10-30) * |
KARSTEN SCHATZ: "Interactive visual exploration of a trillion particles", 《2016 IEEE 6TH SYMPOSIUM ON LARGE DATA ANALYSIS AND VISUALIZATION (LDAV)》, 9 March 2017 (2017-03-09) * |
张若霏: "面向下一代人机交互的虚实融合场景描述语言", 《人工智能》, 30 January 2021 (2021-01-30) * |
赵鑫: "基于包围盒与粒子群的碰撞检测算法研究", 《中国优秀硕士论文全文数据库》, 15 November 2009 (2009-11-15) * |
靳颖: "基于粒子群优化的神经网络的渲染时间预估算法", 《中国优秀硕士论文全文数据库》, 15 October 2014 (2014-10-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN115830201B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113178014B (zh) | 场景模型渲染方法、装置、电子设备和存储介质 | |
US8810590B2 (en) | Method and apparatus for spatial binning on a GPU and global path planning to avoid spatially binned objects | |
US7940266B2 (en) | Dynamic reallocation of processing cores for balanced ray tracing graphics workload | |
Dachsbacher et al. | Sequential point trees | |
Carr et al. | The ray engine | |
US8866813B2 (en) | Point-based guided importance sampling | |
KR101054702B1 (ko) | 광선 추적 이미지 처리 시스템의 픽셀 컬러 결정 | |
US8243081B2 (en) | Methods and systems for partitioning a spatial index | |
US20080122838A1 (en) | Methods and Systems for Referencing a Primitive Located in a Spatial Index and in a Scene Index | |
Zhang et al. | Tree branch level of detail models for forest navigation | |
CN112017254A (zh) | 一种混合式光线跟踪绘制方法及系统 | |
Batagelo et al. | Dynamic scene occlusion culling using a regular grid | |
CN115830201B (zh) | 一种基于聚簇的粒子系统优化渲染方法和装置 | |
CN116338665A (zh) | 结合有向距离场光线投射的光线追踪装置和方法 | |
Lee et al. | Bimodal vertex splitting: Acceleration of quadtree triangulation for terrain rendering | |
Lee et al. | A bimodal empty space skipping of ray casting for terrain data | |
Laine et al. | Hierarchical penumbra casting | |
dos Santos et al. | Review and comparative study of ray traversal algorithms on a modern gpu architecture | |
Wiley et al. | Multiresolution BSP trees applied to terrain, transparency, and general objects | |
Nah et al. | Efficient ray sorting for the tracing of incoherent rays | |
Frolov et al. | Biased solution of integral illumination equation via irradiance caching and path tracing on GPUs | |
Dobashi et al. | An interactive rendering system using hierarchical data structure for earth-scale clouds | |
Liu et al. | A micro 64-tree structure for accelerating ray tracing on a gpu | |
Wong et al. | GPU ray tracing based on reduced bounding volume hierarchies | |
Yusov | Real-time rendering of physically based clouds using precomputed scattering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |