柚子快报激活码778899分享:WebGPU学习(一): 开篇

http://www.51969.com/

本系列从0开始学习WebGPU API,并给出相关的demo。

介绍

大家好,本系列从0开始学习WebGPU API,并给出相关的demo。

上一篇博文

WebGPU学习系列目录

下一篇博文

WebGPU学习(二): 学习“绘制一个三角形”示例

WebGPU介绍

参考WebGPU 开发状态与计划:

WebGL是老的Web 3D图形API,它的版本演进如下图所示:

WebGPU是最新的Web 3D图形API,与WebGL的对比为:

浏览器封装了现代图形API(Dx12、Vulkan、Metal),提供给Web 3D程序员WebGPU API。

WebGPU概要:

为什么要学习WebGPU

WebGPU更好地支持多线程

WebGPU支持compute shader,从而让程序员能利用GPU实现很多优化

WebGPU与WebGL2的区别很大,两者不容易兼容。如果要从WebGL1升级,最好直接升级到WebGPU,一劳永逸

WebGPU是标准,各大浏览器都会支持。不像WebGL2,苹果直接不支持。

目前WebGPU虽然还未正式发布,但已经比较成熟了,也有相关的Demo可供学习

WebGPU完善程度

自从2017年提出WebGPU后,已经经过两年的发展。

目前Chrome和Safari支持得比较好,基本功能都有了(比如能够绘制pbr材质的模型,支持compute shader等),而且已经可以在MacOS中运行。

Babylonjs已经支持了WebGPU,详见WebGPU 文档。

不过WebGPU对于shader使用哪种方案还没有确定:

在Chrome中,使用4.5版本的glsl ,需要通过官方提供的第三方库将其转成二进制码(SPIR-V);

在Safari中,直接使用新的语言WSL,不需要转换。

前者的好处是我们熟悉glsl,学习成本低;

后者的好处是新语言功能更强大,性能更好。

参考资料

WebGPU 开发状态与计划-2018.11.17

Implementation Status

WebGPU and WSL in Safari

WebGPU and WSL in Web Inspector

Babylonjs->WebGPU 文档

webgpu-samples for Chrome (uses GLSL via SPIR-V)

WebKit/Safari Demos (uses WSL)

gpuweb->issues

准备开发环境

MacOS只有高版本支持WebGPU(我之前是MacOS 10.10版本,运行不了WebGPU!升级为MacOS Catalina就可以运行了!!!)。

对于Chrome:

下载最新的Chrome Canary,并且打开 chrome://flags/#enable-unsafe-webgpu

大家可以使用我下载的Chrome Canary。

对于Safari:

下载最新的Safari Technology Preview,选中 Safari → Preferences → Advanced → Develop menu→ Experimental Features → WebGPU

WebGPU学习资料

目前学习资料非常少,属于早期探索阶段~

WebGPU学习中文资料

WebGPU: An Explicit Graphics API for the Web

Get started with GPU Compute on the Web

WebGPU API规范

本系列技术选型

开发环境

Chrome Canary

因为Chrome市场占用率更高,而且shader使用glsl更简单,所以我使用Chrome Canary。

技术栈

Javascript语言

使用原生WebGPU API

能给你带来什么收益?

从0学习WebGPU,熟悉原生API

缩小与PC端最新的3D技术的差距(学了WebGPU,就只与目前最新的DX12 RTX差半代了!而WebGL2只相当于DX10)

更新思维模式,学习最新的设计理念(WebGPU相比WebGL相当灵活和模块化,如果要被封装成引擎的话需要一些新的设计思路)

内容规划

本系列分成三个部分:

第一部分(已经完成)

一个一个地学习官方的sample(我fork到本地了),掌握基础的API调用,讲解相关的概念

第二部分(开始写了)

学习光线追踪,并实现对应的sample

第三部分(没有开始写)

综合运用所学内容,实现一些demo(如gpu driven render pipeline)

柚子快报激活码778899分享:WebGPU学习(一): 开篇

http://www.51969.com/

查看原文