关于OpenGL、DirectX、OpenCV

OpenCV

OpenCV是 Open Source Computer Vision Library 主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是CV的领域。它是可以运行在Linux、Window、和Mac OS操作系统上,它是轻量级而且很高效的。

OpenGL

OpenGL是 Open Graphics Library 是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图象(二维的亦可),是一个功能强大,调用方便的底层图形库。

DirectX

DirectX 是 Direct eXtension 由微软开发,是许多种API的集合体,包含Direct3D,Direct2D,DirectCompute,XAudio,XIput等内容。DirectX主要是面向游戏而开发的一系列硬件资源调用的接口;它的接口范围比较OpenGL大

OpenGL与DirectX的区别

简单来说DirectX功能比OpenGL强大,OpenGL主要是一个图形绘制库;从图形绘制技术的角度来说,他们都是相对底层的技术;可以直接使用作为3D引擎使用,但是跟多时候,应用软件不会直接基于他们开发软件。而是基于专用的三维引擎而开发。比如基于UE4三维游戏引擎开发一款游戏;基于ACIS CAD三维引擎而开发一款CAD三维制图软件等。

此外OpenGL与DirectX平台支持不同,DirectX只能在Windows XBOX平台运行,而OpenGL是夸平台的。

常见的三维引擎

三维引擎按平台可分为客户端三维引擎,Web端三维引擎;按用途可分为游戏三维引擎、CAD/CAM/CAE三维引擎;

游戏引擎常见的有UE4、U3D;CAD工程用的三维引擎又分商用的还有开源的,商用的比较著名的有ACIS、ParaSolid;开源的有OCCT;这些三维引擎都是基于DirectX或OpenGL等底层之上构建的;他们才能真正意义上的三维引擎;而OpenGL与DirectX只能称得上是图形绘制接口

而Web端的三维引擎主要有Three.js、Babylon.js、Cesium.js等,这些B端的三维引擎几乎基于WebGL而开发的三维引擎,而webGL又是OpenGL ES的B端API封装集;这些B端引擎他们都有各自的应用场景,比如Three.js用于做效果展示、Babylon.js用于游戏开发,Cesium.js用于GIS开发;

最后为大家献上一张图,把上面介绍的关系说清楚

各类三维引擎综合概述(OpenGL、DirectX、WebGL、UE4、U3D、ACIS、ParaSolid)相关推荐

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

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

  2. 交通仿真软件测试自学,[2018年最新整理]各类交通仿真软件综合介绍.docx

    [2018年最新整理]各类交通仿真软件综合介绍 交通仿真软件EMME EMME是一个较为全面的出行需求预测系统,面向城市.区域和国家的交通规划.EMME提供特有的灵活开放的建模思路,允许用户自由利用现 ...

  3. 数字旅游——智慧景区三维可视化综合运营平台

    景区三维可视化综合运营平台是通过智慧景区建设,以互联网.物联网为依托对景区进行全方位的感知.识别.控制,对园区环境进行智能化监测,并通过信息平台将各种数据及时共享到各个部门,实现对园区环境的智能化管理 ...

  4. 三维引擎助力元宇宙升级

    公众号小编语体实战! 数字孪生与三维引擎 所谓数字孪生,指的是物理世界和数字世界这对"双胞胎",随着虚拟现实技术的兴起,越来越多的数字孪生体开始出现,用日益成熟的仿真技术模拟现实世 ...

  5. HLS(一)Vivado高层次综合概述

    目录 1.什么是FPGA? 1.1 简介 1.2 架构 1.3 FPGA并行方式与处理器对比 2.硬件设计基本概念 2.1 时钟频率 2.2 延迟 2.3 吞吐率 2.4 存储布局 3.高层次综合 3 ...

  6. Away3D学习笔记1 - 戏说Flash 三维引擎

    如果把文章开头比作一个入口的话,那我要在入口处立一块牌,上书:"非flash开发人员免入".因为如果把flash比作一部电影的话,本文以及本博客所有文章都是写给导演而非观众的. 万 ...

  7. 什么是OpenGL/DirectX 什么是HLSL﹑GLSL﹑Cg 什么是Draw Call

    什么是OpenGL/DirectX 如果要开发者直接访问GPU是一件非常麻烦的事情,我们可能需要和各种寄存器﹑显存打交道.而图像编程接口在这些硬件的基础实现了一层抽象. OpenGL和DirectX就 ...

  8. 用于 Unity 和虚幻引擎的 Asm.js 与 WebGL

    用于 Unity 和虚幻引擎的 Asm.js 与 WebGL 摘要:本文来自微软,是一个 web 开发系列文章的一部分.感谢你对实现了 SitePoint 的成员的支持. Unity 以及 Epic ...

  9. OpenGL,WebGL基于HTML5/WebGL的建模及构建3D场景

    一.OpenGL和WebGL WebGL基于OpenGL ES,它缺少常规OpenGL具有的许多功能,例如仅支持顶点和片段着色器.OpenGL具有WebGL所不具备的功能,例如几何体着色器,镶嵌细分着 ...

最新文章

  1. MyBatis-动态SQL
  2. 80端口被屏蔽解决方法,80端口穿透之NAT端口映射技术
  3. 小型移动 webApp Demo 知识点整理
  4. python http 返回json中文乱码
  5. java爬取单张图片
  6. 计时装饰器python_使用python装饰器制作计时函数
  7. Android版本更新知识(检测、升级)总结
  8. dubbo最全的使用教程
  9. 信息系统管理——项目立项管理(详细可行性研究的结构)
  10. android studio代理设置
  11. 转《美国企业家宣言》
  12. Openjudge1.5答案
  13. 对于现在毕业之后,大部分找不到合适的工作,转行到软件开发(大部分是JAVA)的人来说,分享下自己的经验
  14. 命令行hbase shell操作hbase
  15. 电脑怎么用计算机打开指令,快速打开电脑上的计算器
  16. 有测试狗狗好坏的软件吗,想要养狗的朋友们请一定看完全文,测试一下自己适不适合养狗 ​...
  17. 源声|操作系统十年磨一剑,幕后的坚挺、不懈与客户第一
  18. 计算机硬件故障检测实验报告,计算机系统的硬件检测实验报告
  19. 室内装饰培训 地面装饰要注意什么
  20. Python实现批量修改并替换txt文本中内容

热门文章

  1. panda提取时间戳中的日期_工作中常用的十个日期时间计算公式,你一定要收藏...
  2. 如何辨别身边的渣男(倾情j奉制)
  3. HTML 中的基础标签
  4. 跨境卖家都要知道的:对话式销售
  5. Python在指定环境下安装第三方库的报错解决办法
  6. Android 编译内核的ko文件
  7. HttpURLConnection中设置网络超时
  8. 给咪蒙交智商税,值吗?
  9. nacos 通用配置文件
  10. Photoshop CS2 视频教程-PS制作下雨效果(转)