如何使用Vulkan编译HLSL着色器?

时间:2020-04-23 12:41:21

标签: c++ hlsl vulkan spir-v

我目前正在学习Vulkan API,是时候创建管道了,我选择了HLSL,因为将来我想在DirectX中重用着色器,当我获得RTX GPU时,我打算带来光线跟踪,这是我的新手HLSL,我写了一个简单的顶点着色器:

float4 main(float2 pos : POSITIONT) : SV_POSITION
{
    return float4(pos, 0, 1);
}

this tutorial之后,我尝试编译:{{1​​}}

我得到这个错误:glslc.exe VertexShader.hlsl -o vertex.spv

那么,如何在Vulkan中编译HLSL?

2 个答案:

答案 0 :(得分:1)

Solveld添加-fshader-stage = vertex

答案 1 :(得分:0)

另一个选择是使用具有SPIR-V后端的DXC编译器(https://github.com/Microsoft/DirectXShaderCompiler)。最终将使用与DirectX相同的编译器。