mirror of
https://github.com/sotrh/learn-wgpu.git
synced 2024-11-10 01:10:28 +00:00
Update the description about WGSL
This commit is contained in:
parent
e760f9f50c
commit
47d822865e
@ -21,7 +21,12 @@ The vertices are then converted into fragments. Every pixel in the result image
|
|||||||
|
|
||||||
## WGSL
|
## WGSL
|
||||||
|
|
||||||
WebGPU supports two shader languages natively: SPIR-V, and WGSL. SPIR-V is actually a binary format developed by Khronos to be a compilation target for other languages such as GLSL and HLSL. It allows for easy porting of code. The only problem is that it's not human-readable as it's a binary language. WGSL is meant to fix that. WGSL's development focuses on getting it to easily convert into SPIR-V. WGPU even allows us to supply WGSL for our shaders.
|
[WebGPU Shading Language](https://www.w3.org/TR/WGSL/) (WGSL) is the shader language for WebGPU.
|
||||||
|
WGSL's development focuses on getting it to easily convert into the shader language corresponding to the backend; for example, SPIR-V for Vulkan, MSL for Metal, HLSL for DX12, and GLSL for OpenGL.
|
||||||
|
The conversion is done internally and we usually don't need to care about the details.
|
||||||
|
In the case of wgpu, it's done by the library called [naga](https://github.com/gfx-rs/naga).
|
||||||
|
|
||||||
|
Note that, at the time of writing this, some WebGPU implementations also support SPIR-V, but it's just a temporary measure during the transition period to WGSL and will be removed (If you are curious about the drama behind SPIR-V and WGSL, please refer to [this blog post](http://kvark.github.io/spirv/2021/05/01/spirv-horrors.html)).
|
||||||
|
|
||||||
<div class="note">
|
<div class="note">
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user