【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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM