【技术实现步骤摘要】
本专利技术涉及计算机图形领域,尤其涉及一种渲染方法和装置。
技术介绍
渲染(Render)也称为绘制,是指根据数据生成图像的过程。计算机程序通过反复地渲染图像,然后将图像展现在屏幕上,从而制造生动的视觉体验,为了让使用者感觉流畅,一般需要每秒渲染30帧甚至更多的图像。在高速图形编程接口中(例如Direct3D、OpenGL),需要成批的把数据提交到图形硬件并进行渲染。提交一次,就是一个渲染批次(drawbatch)。渲染批次的多少,是影响程序渲染性能的一个重要因素,在渲染内容不变的情况下,渲染批次越多,意味着数据越分散,渲染性能也越低,反之,则渲染性能越高。较多的渲染批次会导致渲染性能降低,让使用者感觉到画面卡顿,影响用户体验。因此,减少渲染批次是软件和游戏进行性能优化的一项重要内容。对于智能手机来说,减少渲染批次,不仅意味着程序运行更流畅,人机交互体验更佳,同时也意味着耗电量减少,发热量降低。由此可见,减少渲染批次对提高电子设备的渲染性能有着积极的意义。由于受硬件限制,一个渲染批次通常只能对使用同一种材质的渲染内容进行渲染。因此,当需要渲染的内容使用两种或两种以上不同材质时,需要拆分为至少两个渲染批次,才能完成渲染。在不合并材质的情况下,唯有把使用材质相同的渲染内容合并到同一个渲染批次中,才能减少总的渲染批次。现有的减少渲染批次的方法主要如下:第一种方法:针对对渲染顺序不敏感的场合,即无论什么内 ...
【技术保护点】
一种渲染方法,其特征在于,包括:获取待渲染画面中所有批次的渲染内容的渲染顺序;在所述所有批次的渲染内容中查找使用材质相同的第一批次渲染内容和第二批次渲染内容,并依据所述渲染顺序,获取中间批次渲染内容;所述中间批次渲染内容为渲染顺序位于所述第一批次渲染内容和所述第二批次渲染内容之间的全部批次的渲染内容;判断所述第二批次渲染内容与所述中间批次渲染内容是否相互覆盖;当所述第二批次渲染内容与所述中间批次渲染内容互不覆盖时,将所述第二批次渲染内容合并到所述第一批次渲染内容的渲染批次中,形成新的渲染顺序;根据所述新的渲染顺序,依次对所述待渲染画面中各批次的渲染内容的进行批次渲染。
【技术特征摘要】
1.一种渲染方法,其特征在于,包括:
获取待渲染画面中所有批次的渲染内容的渲染顺序;
在所述所有批次的渲染内容中查找使用材质相同的第一批次渲染内容和第
二批次渲染内容,并依据所述渲染顺序,获取中间批次渲染内容;所述中间批
次渲染内容为渲染顺序位于所述第一批次渲染内容和所述第二批次渲染内容之
间的全部批次的渲染内容;
判断所述第二批次渲染内容与所述中间批次渲染内容是否相互覆盖;
当所述第二批次渲染内容与所述中间批次渲染内容互不覆盖时,将所述第
二批次渲染内容合并到所述第一批次渲染内容的渲染批次中,形成新的渲染顺
序;
根据所述新的渲染顺序,依次对所述待渲染画面中各批次的渲染内容的进
行批次渲染。
2.如权利要求1所述的渲染方法,其特征在于,所述获取待渲染画面中所
有批次的渲染内容的渲染顺序,具体为:
对所述待渲染画面的渲染树进行深度优先遍历,获取所述渲染顺序。
3.如权利要求1所述的渲染方法,其特征在于,所述判断所述第二批次渲
染内容与所述中间批次渲染内容是否相互覆盖,具体为:
为所述第二批次渲染内容和所述中间批次渲染内容分别添加包围体;
判断所述第二批次渲染内容的包围体与所述中间批次渲染内容的包围体是
否存在重叠的地方;若存在,则判定所述第二批次渲染内容与所述中间批次渲
染内容相互覆盖;若不存在,则判定所述第二批次渲染内容与所述中间批次渲
染内容互不覆盖。
4.如权利要求3所述的渲染方法,其特征在于,所述包围体为轴向包围盒、
\t定向包围盒、包围球或者多边形网格。
5.如权利要求1至4任一项所述的渲染方法,其特征在于,所述在所述所
有批次的渲染内容中查找使用材质相同的第一批次渲染内容和第二批次渲染内
容,包括:
根据渲染顺序在前的所述第一批次渲染内容,查找使用材质相同但渲染顺
序在后的所述第二批次渲染内容;或者,
根据渲染顺序在后的所述第一批次渲染内容,查找使用材质相同但渲染顺
序在前的所述第二批次渲染内容。
6.一种渲染装置,其特征在于,包括:<...
【专利技术属性】
技术研发人员:张立志,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。