三维引擎基础概述(Direct3D、OpenGL、UE、U3D、threejs等)

一般而言,三维引擎是在三维底层图形技术的基础上,封装硬件操作与三维图形算法,形成普遍意义上的三维交互引擎,提供给开发者一个简单易用、功能丰富的三维图形环境,在此基础上进行虚拟现实、三维交互、可视化管理平台二次开发等,极大提高开发效率。

【底层图形库】

Direct3D和OpenGL是图形渲染的API,对硬件层的一些封装,通过这套API应用层可以控制GPU进行图形的绘制渲染,使调用者无需关心CPU怎么调用GPU,GPU怎么分配内存,怎么异步处理代码等等。

OpenGL是 Open Graphics Library 是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。

DirectX 是 Direct eXtension 由微软开发,是许多种API的集合体,包含Direct3D,Direct2D,DirectCompute,XAudio,XIput等内容,它提供了一整套的多媒体接口方案。Direct3D是DirectX套装的一部分,只能用于windows相关的平台,用C++实现,并以COM的方式提供API。

WebGL 是基于 OpenGL ES 2.0 的 Javascript API。不使用插件的情况下通过 HTML5 的 Canvas 来和 DOM 打交道。

【三维引擎】

三维引擎可分为客户端三维引擎和Web端三维引擎。

客户端主要有UE和Unity的游戏三维引擎,CAD/CAM/CAE三维引擎,CAD工程用的三维引擎商用的比较著名的有ACIS、ParaSolid;开源的有OpenCascade(简称OCC)。

Web端的三维引擎主要有Three.js、Babylon.js、Cesium.js等,这些B端的三维引擎几乎基于WebGL而开发的,都有各自的应用场景,比如Three.js、Babylon.js注重渲染效果,Cesium.js强调GIS空间应用。

在云渲染技术的支持下,客户端三维引擎的渲染结果也可以在Web端进行展示。

猜你喜欢

转载自blog.csdn.net/vcit102/article/details/128827228