mirror of
https://github.com/sotrh/learn-wgpu.git
synced 2024-11-04 06:00:47 +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
|
||||
|
||||
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">
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user