[发明专利]一种图形渲染中光栅化阶段的多线程实现方法在审
申请号: | 201110116356.8 | 申请日: | 2011-05-06 |
公开(公告)号: | CN102736947A | 公开(公告)日: | 2012-10-17 |
发明(设计)人: | 蔡欢;张君琦;郑培枫;孙季川 | 申请(专利权)人: | 新奥特(北京)视频技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06T15/00 |
代理公司: | 北京挺立专利事务所(普通合伙) 11265 | 代理人: | 叶树明 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 图形 渲染 光栅 阶段 多线程 实现 方法 | ||
技术领域
本发明涉及电视节目制作领域中的字幕处理领域,尤其涉及一种图形渲染中光栅化阶段的多线程实现方法。
背景技术
随着计算机图形、图像、视频技术的不断发展,加上国内广电行业正处于从标准清晰度模式向高清晰度模式过渡的时期,电视台等电视制播单位对电视图文制播提出了更高、更新的要求。这就对视频制作过程中的每一个环节都需要适时的技术更新。
图形渲染中的光栅化阶段是字幕制作领域的一个非常重要的环节。现有技术中三维场景的渲染主要是基于GPU(Graphic Processing Unit,图形处理器)的。基于GPU的渲染并行性,可以实现高效率的渲染。但是现有的GPU渲染还是需要依赖显卡,CPU本身运算能力很大,但是因传统的CPU运算是串行运算,运用的运算单元仅仅用到了其中很小的一部分,这就早成了很大的资源浪费,运算效率也比较低。
发明人在实施本发明的过程中,发现现有技术存在以下技术问题:
(1)在CPU实现三维渲染时,在光栅化阶段效率很低
(2)多个CPU未能充分利用
发明内容
为了解决上述现有技术的缺点,本发明的主要目的是提供一种图形渲染中光栅化三角片填充的多线程实现方法,以提高图形渲染的光栅化速度。
为了达到上述目的,本发明提供了一种图形渲染中光栅化三角片填充的多线程实现方法,具体包括:
计算三维物体的包围盒,将所述包围盒划分成n个子区域并对应n个线程;
划分三角片到对应的n个子区域内;
执行与CPU个数相当的线程进行对应所述子区域内的三角片填充;
继续执行线程直到将所有n个线程全部执行完毕,完成整个三角片的填充。
本发明的实施方式先计算三维物体的包围盒划分为n个线程的,通过先执行与CPU个数相当的线程进行对应子区域内的三角片填充,并且循环执行线程,同时执行多个线程直到将n个线程全部执行完毕完成整个三角片的填充的方式,能够大大提高图形渲染中光栅化三角片的填充,而在CPU上也能实现高效率的并行性。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种图形渲染中光栅化阶段的多线程实现方法的流程图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然所描述的实施例仅是本发明的一部分实施例,不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一方面提供了一种图形渲染中光栅化三角片填充的多线程实现方法,如图2所示为本发明实施例的具体实现方法,阐述如下:
步骤S1:计算三维物体在屏幕空间中的包围盒。依次计算三维物体在物体空间中的包围盒的八个顶点在屏幕空间中的坐标,然后根据所述八个顶点在屏幕空间中的坐标计算屏幕空间中的三维物体的包围盒,屏幕空间中的包围盒,只有X,Y方向的边界。
步骤S2:将上述计算出的三维物体的包围盒划分成n个区域并对应n个线程,线程的个数根据CPU的个数来选择,一般选择相当于CPU个数几倍的值(推荐4~8倍),选小了,不能充分利用资源,大了,区域划分更细,计算过程有一些额外的开销。比如4个CPU的机器,n可以选为32。
步骤S3:根据构成三维物体的三角片三个顶点的屏幕坐标的位置,将三角片划分到上述相应的n个子区域内,并在区域内记录划分到本区域内的三角片,如果一个三角片跨多个区域,则在多个区域记录这个三角片。所述划分三角片到划分的区域的子区域内主要依据三角片在屏幕坐标中的三条边在Y方向的值,看落在哪几个区域内就将其划分到该区域内。
步骤S4:执行与CPU个数相当的线程进行对应所述子区域内的三角片填充。执行三角片填充的时候需要先执行与CPU个数相当的线程即对每个线程相对应的子区域进行填充。
步骤S5:继续执行线程直到将所有n个线程全部执行完毕,完成整个三角片的填充。当所述与CPU个数相当的线程中某一个线程执行完毕后紧接着执行剩下未执行的线程中的一个线程,直到所有的n个线程全部执行完毕,完成整个物体的三角片的填充。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110116356.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种偏心晃动装置
- 下一篇:一种圆形烤全羊肉串烤鸭多功能烤箱的悬挂装置