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

【底层图形库】

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端进行展示。

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

  1. 各类三维引擎综合概述(OpenGL、DirectX、WebGL、UE4、U3D、ACIS、ParaSolid)

    关于OpenGL.DirectX.OpenCV OpenCV OpenCV是 Open Source Computer Vision Library 主要是提供图像处理和视频处理的基础算法库,还涉及一 ...

  2. Lua快速入门篇(基础概述)(Yanlz+toLua+xLua)

    <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探索了. ++++作为游戏发布迭代的重要技术:Lu ...

  3. webGL、webGPU、封装、渲染引擎 three.js、游戏引擎,定位是游戏开发,在前面的渲染引擎基础上,还提供了骨骼动画、物理引擎、AI、GUI 等功能,以及可视化编辑器来设计关卡,支撑大型游戏

    https://zhuanlan.zhihu.com/p/162878354 如何选择 WebGL 框架和引擎? ​ 知道得越多,不知道的就更多了 数据可视化Sugar-百度智能云 ​cloud.ba ...

  4. 【Microstation】三维建模基础及软件入门到精通实验教程目录

    文章目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 MicroStation是一款非常不错的二维和三维设计软件,由奔特力(Bentley)工程软件系统有限公司开发的一款软件.在C ...

  5. SQL注入 基础概述及相关知识

    SQL注入 基础概述及相关知识 SQL注入概述 SQL注入攻击简介 SQL注入攻击原理 SQL注入攻击来源 SQL注入攻击主要特点 SQL注入攻击危害 SQL注入攻击 SQL注入攻击基础概述 SQL注 ...

  6. 火星人学习第一周——虚幻引擎基础应用笔记

    目录 一.导入虚幻前资产须要遵守的规范 二.3DMax 软件基础操作 三.虚幻引擎基础 虚幻资产分类 虚幻基本操作 虚幻坐标系 虚幻光 光源分类 光源的移动特性 固定光源 光照模式分类 构建光照 间接 ...

  7. 虚幻引擎基础入门(C++) — 【代码命名规则篇 02】

    虚幻引擎基础入门(C++) -[代码命名规则篇] 文章目录 虚幻引擎基础入门(C++) -[代码命名规则篇] 一.UBT和UHT 二.代码命名规则(遵循帕斯卡命名法) 三. 资源命名规则 三. 文件夹 ...

  8. 虚幻引擎基础入门(C++) — 【数据类型篇 04】

    虚幻引擎基础入门(C++) - [数据类型篇 04] 文章目录 虚幻引擎基础入门(C++) - [数据类型篇 04] 一.基本数据类型 二.字符编码 三.字符类型 总结 一.基本数据类型 UE对于C+ ...

  9. 数值模拟实时三维可视化的C#与OpenGL实现

    来源 http://tech.ddvip.com/2009-02/1235630497109827.html 1. 引言 当代CFD/NHT等大型数值模拟软件的开发工作在全球范围内进行得如火如荼,但主 ...

最新文章

  1. C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装
  2. 高级软件工程第七次作业:东理三剑客团队作业-随笔6
  3. 实现DFS之“农田灌溉”
  4. html编译软件推荐,3款容易上手的HTML5编辑工具推荐~
  5. DWZ与百度编辑器的IE8以下上传图片兼容问题
  6. 303. Range Sum Query - Immutable
  7. python 脚本学习(二)
  8. python爬取万方数据库,python下载万方数据库文献
  9. 一个完整网页代码HTML和CSS,第一个网页(HTML/CSS)
  10. 金蝶移动bos开发教程_移动安全(四)|NDK开发教程_JavaToC
  11. 内核block层IO调度器—bfq算法深入探索3
  12. Python 预测基因变异是否具有相互冲突的临床分类问题
  13. springboot+vue医院预约挂号系统java
  14. 想学3dmax应该怎么学?
  15. 7-1 统计大写辅音字母 (15 分)
  16. 引用百度地图API完成热力图
  17. Golang mgo 剖析之 Session
  18. python+selenium之悠悠博客学习笔记
  19. 金叉死叉图解,金叉死叉的短线操作方法
  20. 编写银行转账系统的数据库

热门文章

  1. 网上邻居看不到任何电脑的解法
  2. 西门子服务器提升抱闸信号不输出,西门子V90伺服调试工程师不可不知的一些事儿...
  3. python随机生成一个地区地址_Python生成随机MAC地址
  4. android 中右上角的数字BadgeView
  5. 2019-2020年网络攻击事件及防范网络攻击小技巧
  6. 【原创】MarkDown-常用模板
  7. JAVA中怎么去掉字符串中间的空格?
  8. 智能家居弱电布线设计需要注意什么
  9. Charles 乱码问题解决
  10. 个体户们,再辛苦也要过来看看要交哪些税?怎么享受优惠?