基于多核平台的ogre 3d引擎关键模块研究和优化-research and optimization of key modules of ogre 3d engine based on multi-core platform.docxVIP

  • 3
  • 0
  • 约5.35万字
  • 约 67页
  • 2018-05-18 发布于上海
  • 举报

基于多核平台的ogre 3d引擎关键模块研究和优化-research and optimization of key modules of ogre 3d engine based on multi-core platform.docx

基于多核平台的ogre 3d引擎关键模块研究和优化-research and optimization of key modules of ogre 3d engine based on multi-core platform

摘要摘要随着多核计算机的普及,并行计算技术已经广泛用于计算机科学的多个领 域,其中以线程级并行计算最受关注。然而在图形领域,并行计算技术尚未得到 有效的应用,多线程技术在基于 3D 引擎开发的图形程序中的应用只是停留在资 源加载和音频独立线程等较浅层面,这是因为目前 3D 引擎的渲染流程仍采用单 线程设计,在多核成为大势所趋的情况下大量 CPU 资源被浪费。OGRE(Object-Oriented Graphics Rendering Engine,面向对象图形渲染引擎)是当前流行的一款开源 3D 图形引擎,它使用 C++开发,封装了底层图形 API, 具有使用方便,扩展性强等优点。OGRE 是一款典型的用串行方法设计的图形引 擎,本文以 OGRE 3D 引擎作为介质就此问题展开讨论,分别对 OGRE 中两个重 要的模块——渲染系统和碰撞检测系统进行了多线程优化,具有代表性和实用 性。对于 OGRE 的渲染系统,首先用 OpenMP 方法对渲染系统的逻辑运算层面 进行了并行优化,然后参考 OpenMP 的 Fork-Join 思路,结合 Win32 线程库和 DirectX11 的多线程支持提出了一种新的多线程渲染方法,实现了渲染层面的多 线程。针对 OGRE 中只有粗略碰撞检测的问题,本文在 OGRE 原有碰撞检测的基 础上实现了 AABB 包围盒平衡二叉树的构建,使用同步深度优先遍历法进行平 衡二叉树的遍历,最后用 OpenMP 方法实现了并行化,提高了碰撞检测的精度 并验证了并行算法的优越性。在多核平台下的实验结果证明,多线程并行优化能够显著提高 3D 引擎中渲 染模块和碰撞检测模块的性能,提高 CPU 利用率并改善多核 CPU 负载均衡问题, 从而证明了多核平台下的多线程技术在图形领域的可行性和优越性。关键词:多核;多线程;三维引擎;OpenMP;DirectX11;碰撞检测IAbstractWith the development of multi-core computers, parallel computing technology has been widely used in many areas of computer science. Thread-level parallelism is now the most popular parallel computing method. However in graphic applications, thread-level parallelism technology is only used in very low level such as loading resources and audio dependent thread. The reason is that all the existed 3D engines are designed to be single thread, so much of the CPU is wasted.OGRE(Object-Oriented Graphics Rendering Engine), is now a popular 3D engine, which is developed with C++. In OGRE engine, the graphic API is encapsulated and it has the advantages of convenience and expansibility. OGRE is a classic single-threaded graphic engine. Aiming at this problem, a research on OGRE, a popular 3D engine, is given in this paper. Two important modules in OGRE, Rendering System and Collision System, are verified with parallel computing technology, which has representation and practicability.As to the Rendering System of OGRE, Firstly, the logical frame is parallelized by the method of OpenMP. Then, according to the Win32 library and the DirectX11 multithread support, a new method is pr

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档