区块链技术博客
www.b2bchain.cn

WebGPU 摘学总目录求职学习资料

本文介绍了WebGPU 摘学总目录求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

  • WebGPU 是什么
    • 起源不同
    • 设计理念不同
    • 功能差异
    • WebGL 不好吗
  • 文章目录

思前想后,还是要讲一下“WebGPU Spec API”和“图形学”、“即时渲染技术”等概念的差异。

我所发布的这一系列博文,均为“WebGPU Spec API”的解读,而且是部分解读,还不一定在概念、细节上完全准确。只是,我喜欢吃这螃蟹,虽然的确有点扎嘴。

本篇不算教程,只能算是 WebGPU 发布黎明前夕对标准的学习与自我归纳,希望对你有帮助,有概念上的错漏在所难免。

WebGPU 的接口、对象类型、如何组合,以及其调用 GPU 的逻辑,深得 D3D12、Metal、Vulkan 这些现代图形开发技术的启发,多多少少都有它们的影子。但是,这并不是说把 WebGPU 的接口、对象的文档背熟,知道如何组合对象和传递数据,就能写出牛逼哄哄的渲染器、3D编辑器、通用计算工具的,那些仍需要其他领域的知识来辅助完成,这也说明了 WebGPU 就是一个 API 罢了。

开发者对 WebGPU 运用得多熟练,只能说明此人对工具有多熟悉,不一定能拿工具雕出花来。

说实话,WebGPU 和 WebGL 一样,对一些初学者来说,是有门槛的,WebGPU 似乎更高一些,如若再加上对即时渲染技术的掌控,对光照知识的理解,那属于难上加难,这样能劝退不少人,图形类编程技术人员是少一些。

WebGPU 是什么

一种图形标准,主要在 Web 浏览器端使用 JavaScript 编程实现,也有其他语言(例如 Rust 的 Wgpu等)的实现。在这里以 Web 端为主,无特殊情况均指 Web 浏览器端的应用开发。

它通常会拿来与 WebGL 进行比较,有人说它是 WebGL 的继任者,我觉得这种说法并不是很全面。

起源不同

WebGL 的爹是 OpenGL,着色器语言 GLSL 继承自 OpenGL;WebGPU 的爹是 Metal、D3D12、Vulkan,标准的推动者有苹果、谷歌、Mozilla、科纳斯组(OpenGL 也是科纳斯组的规范之一)等,其着色器语言 WGSL 也是新设计的;

设计理念不同

WebGL 是走一步算一步的 API,若使用原生 API,需要对渲染的每一步进行精确调整,而且得按顺序,这意味着异步编程会比较麻烦。

WebGPU 是事先打包好数据、设计好计算过程、约定好输入输出,最后一次编码提交才进行计算,这种带“提前设计”的思维,提高了 GPU 访问数据的效率,减少了 CPU 到 GPU 的过程。

这就像做菜,WebGL 有点像做到啥就拿啥调料、食材,要做下一道菜还得中途洗锅。WebGPU 则一边座着高压锅炖汤,一边炒菜,而且每一步都精心准备好了食材配比、炒菜顺序。

功能差异

WebGL 即使到了 version2,对通用计算的支持还是不太行,WebGL 的主战场还是绘图。

WebGPU 在娘胎里就设计好了,它有两大功能:绘图和通用计算。

不过,绘图方面,在量小的时候,二者几乎没有差别,WebGL 甚至写起来还快一些。

WebGL 不好吗

如果大家全部不能做封装,全部只用原生 API,那 WebGL 甚至在小场景下写起来还快一些,性能表现也没什么区别。

可问题就在于,封装可以屏蔽底层的差异,ThreeJs 和 BabylonJs 若保持封装不变,但是底层全部改用 WebGPU,其不仅仅可以在大场景时提高性能,还可以拥有 WebGPU 有但是 WebGL 没有的新特性,甚至还能扩展出通用计算接口来,使用应用级别库的开发者能享受到的好处是很大的。

那么一定要等着这些库封装吗?不是的,了解熟悉底层 API 也是有好处的。

世事无绝对,只有合不合。

长远看,WebGPU 一定会占据前端通用图形技术的一把手,WebGL 会退居二线,完全取代不太可能。

文章目录

  • WebGPU 是什么
    • 起源不同
    • 设计理念不同
    • 功能差异
    • WebGL 不好吗
  • 文章目录

思前想后,还是要讲一下“WebGPU Spec API”和“图形学”、“即时渲染技术”等概念的差异。

我所发布的这一系列博文,均为“WebGPU Spec API”的解读,而且是部分解读,还不一定在概念、细节上完全准确。只是,我喜欢吃这螃蟹,虽然的确有点扎嘴。

本篇不算教程,只能算是 WebGPU 发布黎明前夕对标准的学习与自我归纳,希望对你有帮助,有概念上的错漏在所难免。

WebGPU 的接口、对象类型、如何组合,以及其调用 GPU 的逻辑,深得 D3D12、Metal、Vulkan 这些现代图形开发技术的启发,多多少少都有它们的影子。但是,这并不是说把 WebGPU 的接口、对象的文档背熟,知道如何组合对象和传递数据,就能写出牛逼哄哄的渲染器、3D编辑器、通用计算工具的,那些仍需要其他领域的知识来辅助完成,这也说明了 WebGPU 就是一个 API 罢了。

开发者对 WebGPU 运用得多熟练,只能说明此人对工具有多熟悉,不一定能拿工具雕出花来。

说实话,WebGPU 和 WebGL 一样,对一些初学者来说,是有门槛的,WebGPU 似乎更高一些,如若再加上对即时渲染技术的掌控,对光照知识的理解,那属于难上加难,这样能劝退不少人,图形类编程技术人员是少一些。

WebGPU 是什么

一种图形标准,主要在 Web 浏览器端使用 JavaScript 编程实现,也有其他语言(例如 Rust 的 Wgpu等)的实现。在这里以 Web 端为主,无特殊情况均指 Web 浏览器端的应用开发。

它通常会拿来与 WebGL 进行比较,有人说它是 WebGL 的继任者,我觉得这种说法并不是很全面。

起源不同

WebGL 的爹是 OpenGL,着色器语言 GLSL 继承自 OpenGL;WebGPU 的爹是 Metal、D3D12、Vulkan,标准的推动者有苹果、谷歌、Mozilla、科纳斯组(OpenGL 也是科纳斯组的规范之一)等,其着色器语言 WGSL 也是新设计的;

设计理念不同

WebGL 是走一步算一步的 API,若使用原生 API,需要对渲染的每一步进行精确调整,而且得按顺序,这意味着异步编程会比较麻烦。

WebGPU 是事先打包好数据、设计好计算过程、约定好输入输出,最后一次编码提交才进行计算,这种带“提前设计”的思维,提高了 GPU 访问数据的效率,减少了 CPU 到 GPU 的过程。

这就像做菜,WebGL 有点像做到啥就拿啥调料、食材,要做下一道菜还得中途洗锅。WebGPU 则一边座着高压锅炖汤,一边炒菜,而且每一步都精心准备好了食材配比、炒菜顺序。

功能差异

WebGL 即使到了 version2,对通用计算的支持还是不太行,WebGL 的主战场还是绘图。

WebGPU 在娘胎里就设计好了,它有两大功能:绘图和通用计算。

不过,绘图方面,在量小的时候,二者几乎没有差别,WebGL 甚至写起来还快一些。

WebGL 不好吗

如果大家全部不能做封装,全部只用原生 API,那 WebGL 甚至在小场景下写起来还快一些,性能表现也没什么区别。

可问题就在于,封装可以屏蔽底层的差异,ThreeJs 和 BabylonJs 若保持封装不变,但是底层全部改用 WebGPU,其不仅仅可以在大场景时提高性能,还可以拥有 WebGPU 有但是 WebGL 没有的新特性,甚至还能扩展出通用计算接口来,使用应用级别库的开发者能享受到的好处是很大的。

那么一定要等着这些库封装吗?不是的,了解熟悉底层 API 也是有好处的。

世事无绝对,只有合不合。

长远看,WebGPU 一定会占据前端通用图形技术的一把手,WebGL 会退居二线,完全取代不太可能。

文章目录

  • WebGPU 是什么
    • 起源不同
    • 设计理念不同
    • 功能差异
    • WebGL 不好吗
  • 文章目录

思前想后,还是要讲一下“WebGPU Spec API”和“图形学”、“即时渲染技术”等概念的差异。

我所发布的这一系列博文,均为“WebGPU Spec API”的解读,而且是部分解读,还不一定在概念、细节上完全准确。只是,我喜欢吃这螃蟹,虽然的确有点扎嘴。

本篇不算教程,只能算是 WebGPU 发布黎明前夕对标准的学习与自我归纳,希望对你有帮助,有概念上的错漏在所难免。

WebGPU 的接口、对象类型、如何组合,以及其调用 GPU 的逻辑,深得 D3D12、Metal、Vulkan 这些现代图形开发技术的启发,多多少少都有它们的影子。但是,这并不是说把 WebGPU 的接口、对象的文档背熟,知道如何组合对象和传递数据,就能写出牛逼哄哄的渲染器、3D编辑器、通用计算工具的,那些仍需要其他领域的知识来辅助完成,这也说明了 WebGPU 就是一个 API 罢了。

开发者对 WebGPU 运用得多熟练,只能说明此人对工具有多熟悉,不一定能拿工具雕出花来。

说实话,WebGPU 和 WebGL 一样,对一些初学者来说,是有门槛的,WebGPU 似乎更高一些,如若再加上对即时渲染技术的掌控,对光照知识的理解,那属于难上加难,这样能劝退不少人,图形类编程技术人员是少一些。

WebGPU 是什么

一种图形标准,主要在 Web 浏览器端使用 JavaScript 编程实现,也有其他语言(例如 Rust 的 Wgpu等)的实现。在这里以 Web 端为主,无特殊情况均指 Web 浏览器端的应用开发。

它通常会拿来与 WebGL 进行比较,有人说它是 WebGL 的继任者,我觉得这种说法并不是很全面。

起源不同

WebGL 的爹是 OpenGL,着色器语言 GLSL 继承自 OpenGL;WebGPU 的爹是 Metal、D3D12、Vulkan,标准的推动者有苹果、谷歌、Mozilla、科纳斯组(OpenGL 也是科纳斯组的规范之一)等,其着色器语言 WGSL 也是新设计的;

设计理念不同

WebGL 是走一步算一步的 API,若使用原生 API,需要对渲染的每一步进行精确调整,而且得按顺序,这意味着异步编程会比较麻烦。

WebGPU 是事先打包好数据、设计好计算过程、约定好输入输出,最后一次编码提交才进行计算,这种带“提前设计”的思维,提高了 GPU 访问数据的效率,减少了 CPU 到 GPU 的过程。

这就像做菜,WebGL 有点像做到啥就拿啥调料、食材,要做下一道菜还得中途洗锅。WebGPU 则一边座着高压锅炖汤,一边炒菜,而且每一步都精心准备好了食材配比、炒菜顺序。

功能差异

WebGL 即使到了 version2,对通用计算的支持还是不太行,WebGL 的主战场还是绘图。

WebGPU 在娘胎里就设计好了,它有两大功能:绘图和通用计算。

不过,绘图方面,在量小的时候,二者几乎没有差别,WebGL 甚至写起来还快一些。

WebGL 不好吗

如果大家全部不能做封装,全部只用原生 API,那 WebGL 甚至在小场景下写起来还快一些,性能表现也没什么区别。

可问题就在于,封装可以屏蔽底层的差异,ThreeJs 和 BabylonJs 若保持封装不变,但是底层全部改用 WebGPU,其不仅仅可以在大场景时提高性能,还可以拥有 WebGPU 有但是 WebGL 没有的新特性,甚至还能扩展出通用计算接口来,使用应用级别库的开发者能享受到的好处是很大的。

那么一定要等着这些库封装吗?不是的,了解熟悉底层 API 也是有好处的。

世事无绝对,只有合不合。

长远看,WebGPU 一定会占据前端通用图形技术的一把手,WebGL 会退居二线,完全取代不太可能。

文章目录

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » WebGPU 摘学总目录求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们