前言
由于我经常容易遗忘编译的方式,故在此进行记录,因为用Vulkan
做RayTracing
,所以传统的glslc
因version
不够会经常报错,识别不到GL_EXT_ray_tracing
等东西
GLSL->SPV
github上找到的一个库,spirv-cross,clone后,cd在SPIRV-Cross\目录,然后输入以下命令即可,封装成.bat
set shader_path=B:\repos\Vulkan\src\RayTracing\assets\shaders
glslangValidator.exe --target-env vulkan1.2 %shader_path%\RayTracing.Procedural.rchit -o %shader_path%\RayTracing.Procedural.rchit.spv
即可成功编译
SPV-GLSL
不同版本的GLSL编译后,可能会有所不同,可以进行反编译,及时看看编译结果是否正确进行Debug
glslangValidator.exe --target-env vulkan1.2 -o %shader_path%\result\RayTracing.Procedural.rchit.spv %shader_path%\RayTracing.Procedural.rchit
扩展
其他也可以编shader的库glslang