• 【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

  • 相关阅读:
    以用户、组织结构和权限为例,论如何将基于关系型数据库的设计简化
    spring InitializingBean接口
    DelegatingFilterProxy
    组织机构权限系统的实现(工作流)
    activiti 引擎 数据库设计说明书
    modeler与activiti进行整合
    流程引擎的API和服务基础
    广东程序员在加利福尼亚
    开源 -- 机器学习相关报道
    国内一些大公司的开源项目
  • 原文地址:https://www.cnblogs.com/vickylinj/p/14412027.html
Copyright © 2020-2023  润新知