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 图像,即使只渲染一次,除非您使用适当的栅栏和信号量,否则事情将无法工作。
我正在尝试使用动态渲染扩展进行渲染,为此我正在尝试使用这两个着色器渲染一个三角形:
#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 图像,即使只渲染一次,除非您使用适当的栅栏和信号量,否则事情将无法工作。