小编Yod*_*219的帖子

有没有好的 HLSL 到 SPIR-V 编译器?

我正在用 C++ 编写一个体素引擎,并且正在实现一个 Vulkan 渲染器。我决定在 HLSL 中编写着色器,并通过 SPIRV-Cross 转换它们。然而,这给我带来了一个问题 - glslang 的 HLSL 编译器不允许采样器。例如,这个像素着色器:

uniform sampler2D tex;
float4 main(float2 uv : TEXCOORD0) : COLOR0 {
    return tex2D(tex, uv);
}
Run Code Online (Sandbox Code Playgroud)

给出这个编译器输出:

Expected Sampled Image to be of type OpTypeSampledImage
  %19 = OpImageSampleImplicitLod %v4float %17 %18
Run Code Online (Sandbox Code Playgroud)

我不知道是否应该用 GLSL 编写着色器,或者使用不同的库。任何帮助,将不胜感激。

hlsl vulkan spir-v

2
推荐指数
1
解决办法
4539
查看次数

标签 统计

hlsl ×1

spir-v ×1

vulkan ×1