Vulkan 动态渲染,似乎没有任何东西被光栅化

Vulkan dynamic rendering, nothing seems to be getting rasterized

我正在尝试使用动态渲染扩展进行渲染,为此我正在尝试使用这两个着色器渲染一个三角形:

#version 450

layout(location = 0) in vec2 inPosition;
layout(location = 1) in vec3 inColor;

layout(location = 0) out vec3 fragColor;

void main() {
    gl_Position = vec4(inPosition, 0.5, 1.0);
    fragColor = inColor;
}
#version 450

layout(location = 0) in vec3 fragColor;

layout(location = 0) out vec4 outColor;

void main() {
    outColor = vec4(vec3(1), 1.0);
}

我正在用 renderdoc 测试我的第一帧,顶点看起来不错:

顶点着色器的输出也是如此:

这些是光栅化设置:

正如你所看到的,没有剔除,所以无论什么三角形都应该被光栅化。

但是当我进入 FB 时,交换链图像和深度附件都不受影响。深度处处为1,颜色附件处处为0。

我不明白为什么这不是渲染。

以防以后有人遇到这个问题。

我试图只渲染一个帧(而不是循环渲染),所以我没有同步对象,因为我认为没有必要。

事实证明确实如此,所以如果您渲染到 swacphain 图像,即使只渲染一次,除非您使用适当的栅栏和信号量,否则事情将无法工作。