zoukankan      html  css  js  c++  java
  • 【WebGL】WebGL和OpenGL的联系和区别

    WebGL和OpenGL的区别为:性质不同、插件支持不同、用途不同。

    WebGL

    WebGL的缩写为Web图形库。它主要用于渲染二维图形和交互式三维图形。它是可以与HTML5一起使用的Javascript API。它支持跨平台,并且仅以英语提供。WebGL程序由用JavaScript编写的控制代码组成

    1.WebGL 是基于 OpenGL ES 2.0 的 Javascript API,而不是纯OpenGL(ES代表“嵌入式系统”)。

    2.WebGL通过 HTML5 的 Canvas 来和 DOM 打交道。因此也和 OpenGL ES 2.0 一样,使用 GLSL 作为 Shading Language (一种 C-Like 顶点计算和着色的语言,缓存编译到 GPU,由 GPU 来执行)。

    3.WebGL 2.0基于OpenGL ES 3.0,确保了提供许多选择性的WebGL 1.0扩展,并引入新的API。

    OpenGL

    OpenGL被称为开放图形库。它被称为跨语言和平台应用程序编程接口,用于呈现二维和三维矢量图形。

    OpenGL提供了许多功能,例如扩展。

    1.OpenGL ES本质上是OpenGL的一个子集。

    2.OpenGL_ES是khronos协会从OpenGL裁剪定制而来的,专为手机,游戏机等嵌入式设备而设计。它的接口其实和 Open GL很类似。

    3.OpenGL ES相对OpenGL删减了一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性。

    主要区别:

    1. WebGL基于OpenGL ES,它缺少常规OpenGL具有的许多功能,例如仅支持顶点和片段着色器。OpenGL具有WebGL所不具备的功能,例如几何体着色器,镶嵌细分着色器和计算着色器。
    2. WebGL主要用于浏览器。OpenGL确实需要本机驱动程序,并且主要用于安装软件。
    3. WebGL用于Web应用程序,而OpenGL用于许多视频游戏。
    4. WebGL更易于学习和开发应用程序。如果您熟悉WebGL,则可以轻松学习OpenGL。
    5. 在WebGL中,它可以使用2D纹理来伪造3D纹理。在OpenGL中,不需要这样做,因为它具有很多功能,例如几何和着色器。
    6. 在WebGL中,从一开始就必须学习使用着色器和缓冲区。在OpenGL中,并非如此。
    7. WebGL具有较少的功能,因此学习曲线较少。OpenGL具有更大的学习曲线,因为它具有包括WebGL在内的许多功能。
    8. WebGL基于OpenGL ES 2,而不是纯OpenGL。OpenGL ES是OpenGL的子集。OpenGL ES具有较少的功能,并且对用户来说非常简单。OpenGL具有很多功能并且难以使用。

    转自:https://blog.csdn.net/qq_29808089/article/details/112169991

  • 相关阅读:
    iscroll.js
    HTML 第九章总结
    HTML第八章总结
    HTML第七章总结
    HTML第六章总结
    HTML第五章总结
    HTML第四章总结
    HTML第三章总结
    HTML第二章总结
    HTML第一章总结
  • 原文地址:https://www.cnblogs.com/vickylinj/p/14412027.html
Copyright © 2011-2022 走看看