周末没事瞎搜,了解下web图形API历史

291 阅读3分钟

导读:文章没有任何技术含量,全是搜搜剪剪粘过来的,图个乐就是;整体搜索是从webGL开始搜索的,然后顺着推荐一点点理出来的

内容主体:

  • OpenGL(open graphics library):用于渲染2d,3d矢量图形的跨语言跨平台的应用程序编程接口——Khronos Group组织开发,92年第一个版本

OpenGL规范由1992年成立的OpenGL架构评审委员会(ARB)维护。ARB由一些对创建一个统一的、普遍可用的API特别感兴趣的公司组成。根据OpenGL官方网站,2002年6月的ARB投票成员包括3DlabsApple ComputerATI TechnologiesDell ComputerEvans & SutherlandHewlett-PackardIBMIntelMatroxNVIDIASGISun MicrosystemsMicrosoft曾是创立成员之一,但已于2003年3月退出。

  • DirectX:微软于2002年提出的新的绘图功能以及高端着色语言压制了OpenGL1.0(仅支持微软平台),然后OpenGL开始开发2.0(2004年发布)

被广泛用于Microsoft Windows、Microsoft Xbox电子游戏开发,并且只能支持这些平台。除了游戏开发之外,DirectX亦被用于开发许多虚拟三维图形相关软件。

  • OpenGL ES:属于OpenGL的子集,针对手机、PDA和游戏主机等嵌入式设备【其中第一版(2003年)基于OpenGL1.3裁剪定制出的】,Khronos Group组织定义推广

  • OpenCL(Open Computing Language):初始作者苹果公司后捐献给Khronos Group组织 ,2009年第一版,扩展了GPU图形生成外的能力,和渲染图形无关

  • WebCL:Khronos Group组织 2011年第一版 基于OpenCL的web扩展(目前没有浏览器支持)

  • WebGL:起源Mozilla,Khronos Group设计维护。 第一版2011年是基于OpenGL ES 2.0的web图形库,为web展示3d图形提供可能,该API可以在HTML5 canvas元素中使用。 这种一致性使API可以利用用户设备提供的硬件图形加速。

  • Mantle:13年由AMD主导开发,主要用于PC端,14年捐献给Khronos Group组织帮助标准化使其像OpenGL一样成为行业标准

  • Metal:2014年由苹果公司推出(只针对于苹果的平台,IOS8开始加入),类似于将 OpenGL与 OpenCL 的功能集成到了同一个API上,能够为3D图像提高十倍的渲染性能,让A系芯片性能完全发挥【虚荣为第一个代表作】

  • Vulkan:Khronos Group组织 2015年发表针对全平台即时3D图形程序而设计(OpenGL已经停止开发了,重点推广Vulkan),OpenCL将在未来融入Vulkan

  • WebGPU:是苹果公司于17年提出的针对万维网(W3C)的新开放源代码图形API标准的草案提案,设计基于Metal,Vulkan,D3D12。目前有三套讨论中的提案【google的Dawn;Mozilla的Obsidian;Apple的WebMetal】,【苹果公司态度鲜明,反对OpenGL将版本锁死在4.1,ES锁死在3.0,并且以后不再提供Vulkan转换方案,强推自家Metal】

WebGPU is not related to WebGL and does not explicitly target OpenGL ES

感想:

参考下来大概就是不断的抽象斗争,技术不断革新然后统一带来更高的繁荣(还是需要大佬牵头啊)期待早日统一,这样web是不是就更加炫酷了?

参考:

  1. OpenG

  2. DirectX

  3. OpenGL ES

  4. OpenCL

  5. WebCL

  6. WebGL

  7. WebGPU学习(一): 开篇

  8. Mantle

  9. Vulkan

  10. WebGPU

  11. 下一代Web端图形接口现状与前景