3

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

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

按照本教程,我尝试编译:glslc.exe VertexShader.hlsl -o vertex.spv

我得到这个错误:glslc: error: 'VertexShader.hlsl': .hlsl file encountered but no -fshader-stage specified ahead

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

4

2 回答 2

2

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

于 2020-08-02T02:10:08.293 回答
1

求解添加 -fshader-stage=vertex

于 2020-04-23T13:27:41.040 回答