WebGPU Shader Compiler¶
更新记录
2023/7/25 增加该文档
2023/7/25 增加
源码说明
文档2023/7/25 增加
发布 0.1
文档2023/7/26 增加
发布 0.2
文档2023/7/26 将跳转链接更改成卡片样式
2023/7/27 增加
发布 0.3
文档2023/7/28 增加
发布 0.4
文档2023/7/29 增加
发布 0.5
文档2023/7/31 增加
发布 0.6
文档
您可以点击该卡片跳转至 Shader Compiler
图示说明
表示编译器支持的着色器语言
表示编译器支持的编译路径
表示编译器不支持的编译路径
表示源码中对应调用的函数
发布 0.6
WebShader Compiler
July 31, 2023 发布
更新记录
修正将
Miss
,Callable
,Task
和Mesh
着色器识别成Vertex
着色器的Bug
修正成功编译
HLSL
,MSL
,C++
,Reflection
时输出的文字提示错误
存在的问题
Tessellation Control
,Tessellation Evaluation
,Geometry
,Compute
着色器转成HLSL
时会导致异常。对于光线追踪着色器转成
HLSL
或MSL
时会导致异常。
发布 0.5
WebShader Compiler
July 29, 2023 发布
重要功能
提供编译到
GLSL
功能。提供编译到
HLSL
功能。提供编译到
MSL
功能。提供编译到
C++
功能。提供编译到
Reflection
功能。
更新记录
菜单选项中增加 子菜单。
菜单选项中增加 子菜单。
菜单选项中增加 子菜单。
菜单选项中增加 子菜单。
菜单选项中增加 子菜单。
发布 0.4
WebShader Compiler
July 28, 2023 发布
重要功能
提供
SPIR-V
代码的编译功能。
更新记录
Language
窗口选项中增加 和 选项。
存在的问题
SPIR-V Binary
与SPIR-V Disassemble
之间转换时没有做完整性检查(有基本错误检查)。这是应为该编译器底层使用的 SPIRV-Tools 进行的SPIR-V
序列化和反序列化,该库中对于SPIR-V
的验证功能还在建设中。
发布 0.3
WebShader Compiler
July 27, 2023 发布
重要功能
提供着色器代码到
SPIR-V
二进制的反编译代码(可阅读格式)的功能。
更新记录
优化输出的
SPIR-V
十六进制数组格式。修正当更改
Target Language
所对应的SPIR-V
版本后编译器错误识别的Bug
。增加对于 Ctrl+C 快捷键的支持。现可以通过该快捷键直接复制编辑器中的代码。
增加
Code Viewer
窗口。用于展示和获取编译结果。修改
Shader Code Editor
窗口的 菜单。菜单,增加 子菜单。
子菜单,增加 按钮。
使用教程
首先将要编译的着色器代码选中后 Ctrl+V 粘贴至剪贴板。
进入 在线着色器编译器 页面。如果是第一次进入会弹出
允许访问剪贴板
的弹窗,点击允许
。允许访问剪贴板
需要通过访问剪贴板将着色器代码粘贴至编译器。
直接 Ctrl+V 或依次点击
将代码粘贴至编译器页面中配置着色器语言
Language
选项(GLSL
或HLSL
),配置Shader Type
选项(顶点着色器
还是片元着色器
等)依次点击
进行输出配置。包括Target Client
目标端和Target Language
目标语言标准(如果没有特定需求保持默认即可)。如上配置完成后依次点击
将代码编译成SPIR-V
二进制代码。或依次点击 将SPIR-V
二进制代码反编译成可阅读的SPIR-V
代码。如果编译失败,说明代码有错误,相关错误会在
Console
中进行显示。如果编译成功,相关的
SPIR-V
将会写入剪贴板中,并在Console
中给出成功
提示。并弹出Code Viewer
窗口用于显示编译结果。用户直接 Ctrl+V 将编译的结果粘贴即可。SPIR-V Binary 输出结果为
C/C++
格式的SPIR-V
的十六进制数组,可以直接用于Vulkan
等API
。SPIR-V Disassemble 输出结果为
SPIR-V
二进制的反编译结果,为SPIR-V
的可阅读格式。
开发计划
提供
HLSL
,GLSL
和SPIR-V
的相互转换功能提供
SPIR-V
输出为文件的功能提供
WGSL
着色器支持提供对于
#include
着色器头文件的支持控制台输出考虑是否输出时间信息
发布 0.2
WebShader Compiler
July 26, 2023 发布
更新记录
增大可视大小,之前的太小了。
增加对于 Ctrl+V 快捷键的支持。现可以通过该快捷键将
Shader
代码直接粘贴进代码编辑器中。
发布 0.1
WebShader Compiler
July 25, 2023 发布
使用教程
首先将着色器代码选中后 Ctrl+V 粘贴至剪贴板。
进入 在线着色器编译器 页面。如果是第一次进入会弹出
允许访问剪贴板
的弹窗,点击允许
。依次点击
将代码粘贴至编译器页面中存在的问题
必须进行
操作才能将代码粘贴至编译器中,直接在编译器中 Ctrl+V 没有反应。考虑如何设置引用着色器的
include
头文件。
配置着色器语言
Language
选项(GLSL
或HLSL
),配置Shader Type
选项(顶点着色器
还是片元着色器
等)依次点击
进行输出配置。包括Target Client
目标端和Target Language
目标语言标准(如果没有特定需求保持默认即可)。如上配置完成后依次点击
将代码编译成SPIR-V
如果编译失败,说明代码有错误,相关错误会在
Console
中进行显示。如果编译成功,相关的
SPIR-V
将会写入剪贴板中,并在Console
中给出成功
提示。用户直接 Ctrl+C 将编译的SPIR-V
代码进行粘贴即可(输出结果为C/C++
格式的SPIR-V
的十六进制数组,可以直接用于Vulkan
等API
)
开发计划
提供
HLSL
,GLSL
和SPIR-V
的相互转换功能提供
SPIR-V
输出为文件的功能提供
SPIR-V
输出为可阅读的文本格式提供
WGSL
着色器支持提供对于头文件的支持