摘要: 渲染器是3D引擎的核心部分,它完成将3D物体绘制到屏幕上的任务。渲染器分为硬件渲染器和软件渲染器: 1.硬件渲染器通常基于底层图形API(应用程序接口)构建,采用适合 硬件架构的光栅化方法进行渲染。图形API负责与硬件的通信,常用的 图形API包括Direct...
渲染器是3D引擎的核心部分,它完成将3D物体绘制到屏幕上的任务。渲染器分为硬件渲染器和软件渲染器:
1.硬件渲染器通常基于底层图形API(应用程序接口)构建,采用适合 硬件架构的光栅化方法进行渲染。图形API负责与硬件的通信,常用的 图形API包括DirectX和OpenGL。 OpenGL API通过OpenGL图形库来使用 3D硬件,多数3D卡支持这种方法。而DirectX API使用微软的DirectX库 ——归并到 Windows操作系统中。在老的3D卡上面,OpenGL一般绘制 速度较快一些,而在现代的3D卡上面,DirectX表现则更加出色。现在 的OpenGL版本只有一个,而DirectX版本有很多。DirectX通过提供更新 版本的方式来扩展功能,而OpenGL通过一个通用的扩展(OpenGL Ext) 来对功能进行扩展。
2.软件渲染器则纯粹利用CPU的能力进行计算,通常采用光线追踪的方法 进行渲染。软件渲染器没有统一的应用程序标准,但是有很多通用的渲染 算法,如光子映射,蒙特卡洛,辐射度等等。
3.硬件渲染器和软件渲染器应用领域不同:硬件渲染器主要用于实时渲染,比如游戏和虚拟现实。而软件主要用于离线渲染,比如效果图和影视级、产品级渲染。这主要是因为硬件渲染器的速度快但是灵活度不足,而软件 渲染器虽然速度不够理想但是可以使用非常复杂的渲染算法,达到相片级的 真实度和效果。