![02ce56da179e03488a02e06427c3aaff.png](https://img-blog.csdnimg.cn/img_convert/02ce56da179e03488a02e06427c3aaff.png)
最近完成了一个业余项目,用Vulkan实现Light Propagation Volume,效果如题图。鉴于目前关于Vulkan的中文资料太少,于是打算写一系列文章,贡献自己的一份力量。
工欲善其事,必先利其器,因此第一篇文章我想谈谈开发环境的搭建、工具链和调试工具的选择。搭建开发环境很简单,直接去官网下载安装VulkanSDK即可。
与OpenGL不同,Vulkan只接受SPIRV格式的Shader,从GLSL和HLSL都可以通过Shader编译工具编译成SPIRV。有glslang和dxc两种编译器可以选择,前者可以编译GLSL和HLSL到SPIRV,后者只能编译HLSL到SPIRV,由于HLSL的语言设计相比GLSL更易用,因此这里只考虑HLSL编译到SPIRV。另外,VulkanSDK还提供了SPIRV交叉编译工具供我们反编译出SPIRV格式Shader到HLSL,GLSL,MSL格式的Shader,这给调试工作提供了很大的便利。
glslang:这是官方提供的编译器,Vulkan的最新特性都会第一时间在这里实现(device group等),支持SM5.1,更高等级的着色模型依赖开源社区的贡献。
dxc:微软提供的编译器,支持SM6.0(主要添加了Wave Intrinsics),但对Vulkan的特性的支持没有glslang及时。
由于我们暂时不需要用到SM6.0的特性,而Vulkan的一些特性dxc并没有完全支持,因此本项目选择glslang作为首选编译器。
除了Shader编译工具,还需要调试工具,这里推荐如下:
RenderDoc:老牌图形调试工具,支持OpenGL、OpenGLES、Vulkan、DirectX11和DirectX12,开源,跨平台。是本项目的主要调试工具。
NSight Graphics:NV提供的N卡专属工具,可以提供比RenderDoc更详细的信息,然而其最新版本无法在Win10 RS2系统上良好运行,对GTX760M显卡的支持也将逐渐放弃。如果你的电脑配置足够高,推荐使用。
最后放下Repo链接:
hamwj1991/hamgitee.com![80149863efae4c80421c418acb6677db.png](https://img-blog.csdnimg.cn/img_convert/80149863efae4c80421c418acb6677db.png)