Vulkan中shader glsl编spv spv反编译glsl方式

前言

由于我经常容易遗忘编译的方式,故在此进行记录,因为用VulkanRayTracing,所以传统的glslcversion不够会经常报错,识别不到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

猜你喜欢

转载自blog.csdn.net/lr_shadow/article/details/121314866