本发明专利技术公开一种渲染模型轮廓边缘的方法,该方法包括:将待描边模型绘制到预设的渲染目标上;对模型包围盒进行坐标变换,将所述预设的渲染目标与包围盒对应的投影覆盖范围复制到描边位图上;根据背景缓冲区的属性和所述投影覆盖范围,确定所述投影覆盖区域的纹理坐标,生成平面矩形顶点数据流;在原始渲染目标表面,通过背景缓冲区预设的模板确定模型的轮廓边缘,按照预设方案进行轮廓边缘渲染。实施本发明专利技术的技术方案,在像素空间下,利用包围盒、颜色、深度和模板对背景缓冲区进行局部处理,降低了中央处理器和图形处理器的负荷,最大限度地发挥了轮廓边缘渲染的多样性,增加了渲染效果的可扩展性,提高了渲染效率。
【技术实现步骤摘要】
本专利技术涉及计算机图形渲染技术,尤其涉及。
技术介绍
在网络游戏中由于角色众多,为了突出目标,需要对角色进行轮廓边缘渲染,用来增加事物与边框的对比度,不仅可以简洁有效的对玩家进行信息提示,更能够为整体画面增光添彩。图I为几何空间下轮廓边示意图。如图I所示,假定观察方向为向量V,多边形平面VO和Vl的面法线分别为Face O和Face 1,由图中可知边线AB为轮廓边,则有,(V · FaceO) (V -Face 1)〈0,即共享轮廓边AB的两个多边形平面VO和Vl中,有一个是从视点位置能够看到的,另外一个在视点背面看不到,也就是说顶点A和B只被其中一个多边形使用,A和 B为边线点,AB组成的边为轮廓边。几何空间下模型轮廓绘制最精确,线条粗细随摄像机位置变化而变化。但对于CPU消耗较大a)每个顶点到都有自己的观察方向(从视点指向顶点的方向),每次渲染时都需要重新计算山)如空间顶点的位置发生改变,它所关联面的法线都需要重新计算一次,所以当模型发生骨骼变化时,需要用CPU来计算所有点的新位置并根据新位置求出点所在面的法线,而不能交给图形处理器(GPU)并行计算。图2为现有技术中在几何空间下实现模型轮廓边缘渲染的示意图。采用该技术方案使得几何空间下轮廓边渲染效果不易控制a)边线根据模型顶点得到,使得模型内部棱角的边线也会被勾勒出来(如图2中的眼睛),因此对单独模型制作要求较高;b)游戏中大多数角色大都是由许多模型组成的,会导致模型与模型间的边缘线被绘制出来(如图2中脖子、腰等横截线);c)模型轮廓边缘渲染效果(如颜色等)根据每个顶点法线计算的颜色来确定,如对多边形进行更丰富的效果渲染,只能依靠增加顶点信息,这样需要计算更多的顶点法线,会消耗更多的CPU资源。为了解决几何空间下轮廓边缘渲染中会有多余轮廓线被绘制的问题,开发人员采用在像素空间下对模型轮廓边缘渲染。该技术方案改变模型轮廓边缘渲染的顺序,对模型进行延迟渲染,先将待渲染模型数据进行记录,写入数据位图中,在进行后处理时,读取模型轮廓边缘数据,进行延迟渲染。该方案轮廓边缘渲染效果自然,但该方案也存在如下缺点a)数据需求较大数据位图通常只记录顶点信息、法线信息,其他信息需要增加额外通道,数据量会更大;b)计算耗时较多对于后效处理,需要对全屏进行操作,数据位图记录与读取需要更多的时间,同时计算时开销也会更多;c)渲染方式单一为了保证性价比,描边的颜色信息通常不会被写入,描边方式与颜色更为单一,信息提示效果不够直观。公开号为CN 101986344A的名称为“图形处理系统”的中国专利公开一种在图形处理系统中渲染描边曲线进行显示的方法,通过使用用户空间中的描边曲线到投影空间的投影变换来实现,所述投影变换使用户空间中的曲线的法线近似平行于投影空间中的期望方向,通过使法线接近平行,即使对于相对大的描边宽度,一阶近似能够产生足够准确的效果。该技术方案使得在不需要使用附加的的专用硬件的基础上比已有的细分技术得到更好的改进效果,但是该技术方案对于处理模型的描边的渲染效果比较单一且当场景中存在模型遮挡时,对于用户空间到平面空间的映射需要分成多个个别线或填充路径,然后对其逐个单独的渲染,增加了 CPU的负荷,可扩展性差。因此,需要一种在不破坏原有的渲染顺序,对模型进行轮廓边缘渲染的方法,使渲染效果具有可扩展性,最大限度的提高渲染效率,发挥轮廓边缘渲染的多样性。
技术实现思路
为了克服现有技术中的缺陷和不足,本专利技术提出一种在像素空间下,利用包围盒、深度、模板进行局部处理,切割剪裁,根据不同需求得到不同效果的轮廓边缘渲染的方法,最大限度发挥描边的多样性,提高渲染效率。本专利技术公开,包括如下步骤SI :切换背景缓冲区原始渲染目标为预设的渲染目标,将待描边模型以描边颜色 绘制到所述预设的渲染目标上,背景缓冲区的模板根据需要进行设置;S2 :对设定的模型包围盒进行坐标变换,确定所述预设的渲染目标与所述包围盒对应的投影覆盖范围,将所述投影覆盖区域复制到与所述背景缓冲区属性相同的描边位图上;S3:根据所述背景缓冲区的属性和所述投影覆盖范围,确定投影覆盖区域的纹理坐标,生成平面矩形顶点数据流;S4:切换背景缓冲区所述预设的渲染目标为所述原始渲染目标,根据所述平面矩形顶点数据流限制原始渲染目标的平面矩形范围;通过预设的模板确定模型的轮廓边缘,同时根据预设的描边方案,进行轮廓边缘渲染。进一步地,所述步骤SI进一步包括,未开启深度测试的情况下,将待描边模型绘制到所述预设的渲染目标上,背景缓冲区的模板设置为参考值;或者,开启深度测试的情况下,将待描边模型绘制到所述预设的渲染目标上,无论深度测试是否通过,背景缓冲区的模板设置为参考值;或者,开启深度测试的情况下,将待描边模型绘制到所述预设的渲染目标上,对于通过深度测试点,背景缓冲区的模板设置为参考值。进一步地,所述步骤S4进一步包括,选择模板测试类型,开启模板测试,将平面矩形范围内与预设的模板参考值相等的点剔除,对于通过模板测试的点,根据预设的渲染目标表面中纹理坐标进行相应偏移,得到该点对应点周围层级像素点的颜色信息,参考所述周围层级像素点的颜色并采样,确定自身的颜色,经Alpha有效性判别剔除,实现对模型轮廓边缘向外渲染。进一步地,所述步骤S4进一步包括,选择模板测试类型,开启模板测试,将平面矩形范围内与预设的模板参考值不等的点剔除,对于通过模板测试的点,根据预设的渲染目标表面中纹理坐标进行相应偏移,得到该点对应点及周围层级像素点的颜色信息,参考所述周围层级像素点及自身的颜色并采样,经Alpha有效性判别剔除,实现对模型轮廓边缘向内渲染。进一步地,所述平面矩形顶点数据流的顶点格式为自定义格式,包括经过坐标变换的顶点以及所述顶点对应的纹理坐标。进一步地,所述步骤S4中预设描边方案进一步包括,对描边位图中模型轮廓边缘纹理对应点周围两个及以上层级的像素点进行采样,通过对两个及以上层级像素点采样比重进行设置,实现轮廓边缘颜色及强度渲染。进一步地,所述步骤S4中预设描边方案进一步包括,对描边位图中模型轮廓边缘纹理对应点和所述对应点周围两个及以上层级的像素点进行采样,通过对两个及以上层级像素点采样比重进行设置,实现轮廓边缘颜色及强度渲染。进一步地,步骤S4中渲染轮廓边缘进一步包括轮廓边缘宽度渲染,通过选择像素点的个数确定模型轮廓边缘宽度,按照所述宽度进行纹理坐标偏移确定轮廓边缘对应点周围层级像素点,通过对周围层级像素点采样确定当前点的颜色。进一步地,所述步骤SI进一步包括,开启深度测试的情况下,当待测试像素点深度值小于等于预设的深度值时,像素点以描边颜色绘制到所述预设的渲染目标上。 实施本专利技术的技术方案,根据需求选择描边方案,在像素空间下,利用包围盒、颜色、深度和模板对背景缓冲区进行局部处理,通过背景缓冲区预设的模板数据确定模型的轮廓边缘,按照预设方案进行轮廓边缘渲染。该方法基于背景缓冲区进行局部处理,降低了中央处理器(CPU)和图形处理器(GPU)的负荷,极大地发挥了轮廓边缘渲染的多样性,增加了渲染效果的可扩展性,提高了渲染效率。附图说明图I为几何空间下轮廓边示意图;图2为现有技术实施例的几何空间下轮廓渲染效果示意图;图3为本专利技术实施例的渲染模型轮廓边缘本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种渲染模型轮廓边缘的方法,包括如下步骤 Si:切换背景缓冲区原始渲染目标为预设的渲染目标,将待描边模型以描边颜色绘制到所述预设的渲染目标上,背景缓冲区的模板根据需要进行设置; S2:对设定的模型包围盒进行坐标变换,确定所述预设的渲染目标与所述包围盒对应的投影覆盖范围,将所述投影覆盖区域复制到与所述背景缓冲区属性相同的描边位图上; S3:根据所述背景缓冲区的属性和所述投影覆盖范围,确定投影覆盖区域的纹理坐标,生成平面矩形顶点数据流; S4 :切换背景缓冲区所述预设的渲染目标为所述原始渲染目标,根据所述平面矩形顶点数据流限制原始渲染目标的平面矩形范围;通过预设的模板确定模型的轮廓边缘,同时根据预设的描边方案,进行轮廓边缘渲染。2.根据权利要求I所述的渲染模型轮廓边缘的方法,其特征在于,所述步骤SI进一步包括,未开启深度测试的情况下,将待描边模型绘制到所述预设的渲染目标上,背景缓冲区的模板设置为参考值;或者,开启深度测试的情况下,将待描边模型绘制到所述预设的渲染目标上,无论深度测试是否通过,背景缓冲区的模板设置为参考值;或者,开启深度测试的情况下,将待描边模型绘制到所述预设的渲染目标上,对于通过深度测试点,背景缓冲区的模板设置为参考值。3.根据权利要求I或2所述的渲染模型轮廓边缘的方法,其特征在于,所述步骤S4进一步包括,选择模板测试类型,开启模板测试,将平面矩形范围内与预设的模板参考值相等的点剔除,对于通过模板测试的点,根据预设的渲染目标表面中纹理坐标进行相应偏移,得到该点对应点周围层级像素点的颜色信息,参考所述周围层级像素点的颜色并采样,确定自身的颜色,经Alpha有效性判别剔除,实现对模型轮廓边缘向外渲染。4.根据权利要求I或...
【专利技术属性】
技术研发人员:杨波,
申请(专利权)人:北京像素软件科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。