vkCmdBeginRenderPass(command_buffer, &render_pass_begin_info, VK_SUBPASS_CONTENTS_INLINE); | vkCmdBeginRenderPass(command_buffer, &render_pass_begin_info, VK_SUBPASS_CONTENTS_INLINE); | ||||
vkCmdBindPipeline(command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline); | vkCmdBindPipeline(command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline); | ||||
vkCmdDraw(command_buffer, 3, 1, 0, 0); | |||||
vkCmdDraw(command_buffer, 6, 1, 0, 0); | |||||
vkCmdEndRenderPass(command_buffer); | vkCmdEndRenderPass(command_buffer); | ||||
EndQuery(command_buffer, query_pool); | EndQuery(command_buffer, query_pool); | ||||
} | } |
#version 450 | #version 450 | ||||
layout(location = 0) in vec3 fragColor; | |||||
layout(location = 0) out vec4 outColor; | layout(location = 0) out vec4 outColor; | ||||
void main() { | void main() { | ||||
outColor = vec4(1.0, 0.0, 0.0, 1.0); | |||||
outColor = vec4(fragColor, 1.0); | |||||
} | } |
#version 450 | #version 450 | ||||
vec2 positions[3] = vec2[]( | |||||
vec2(0.0, -0.5), | |||||
vec2(0.5, 0.5), | |||||
vec2(-0.5, 0.5) | |||||
layout(location = 0) out vec3 fragColor; | |||||
vec3 positions[6] = vec3[]( | |||||
vec3(0.5, -0.5, 1.0), | |||||
vec3(0.5, 0.5, 1.0), | |||||
vec3(-0.5, 0.5, 1.0), | |||||
vec3(-0.5, -0.5, 0.0), | |||||
vec3(0.5, 0.5, 0.0), | |||||
vec3(-0.5, 0.5, 0.0) | |||||
); | |||||
vec3 colors[6] = vec3[]( | |||||
vec3(1.0, 0.0, 0.0), | |||||
vec3(1.0, 0.0, 0.0), | |||||
vec3(1.0, 0.0, 0.0), | |||||
vec3(0.0, 1.0, 0.0), | |||||
vec3(0.0, 1.0, 0.0), | |||||
vec3(0.0, 1.0, 0.0) | |||||
); | ); | ||||
void main() { | void main() { | ||||
gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0); | |||||
gl_Position = vec4(positions[gl_VertexIndex], 1.0); | |||||
fragColor = colors[gl_VertexIndex]; | |||||
} | } |