Added dynamic state
This commit is contained in:
parent
5a1dcf9151
commit
829e3fd3d8
6 changed files with 48 additions and 20 deletions
|
|
@ -3,5 +3,5 @@
|
|||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
cd $SCRIPT_DIR
|
||||
|
||||
glslc shaders/shader.vert -o shaders/shader.vert.spv
|
||||
glslc shaders/shader.frag -o shaders/shader.frag.spv
|
||||
glslc -fshader-stage=vert shaders/shader.vert.glsl -o shaders/shader.vert.spv
|
||||
glslc -fshader-stage=frag shaders/shader.frag.glsl -o shaders/shader.frag.spv
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
#version 450
|
||||
|
||||
layout (location = 0) out vec4 outColor;
|
||||
|
||||
void main() {
|
||||
outColor = vec4(0.0, 1.0, 0.0, 1.0);
|
||||
}
|
||||
10
shaders/shader.frag.glsl
Normal file
10
shaders/shader.frag.glsl
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#version 450
|
||||
|
||||
layout(location = 0) in vec3 fragColor;
|
||||
|
||||
layout(location = 0) out vec4 outColor;
|
||||
|
||||
void main() {
|
||||
outColor = vec4(fragColor, 1.0);
|
||||
}
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
#version 450
|
||||
|
||||
vec2 positions[3] = vec2[] (
|
||||
vec2(0.0,-0.5),
|
||||
vec2(0.5,0.5),
|
||||
vec2(-0.5,0.5)
|
||||
);
|
||||
|
||||
void main() {
|
||||
gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0);
|
||||
}
|
||||
20
shaders/shader.vert.glsl
Normal file
20
shaders/shader.vert.glsl
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#version 450
|
||||
|
||||
layout(location = 0) out vec3 fragColor;
|
||||
|
||||
vec2 positions[3] = vec2[](
|
||||
vec2(0.0, -0.5),
|
||||
vec2(0.5, 0.5),
|
||||
vec2(-0.5, 0.5)
|
||||
);
|
||||
|
||||
vec3 colors[3] = vec3[](
|
||||
vec3(1.0, 0.0, 0.0),
|
||||
vec3(0.0, 1.0, 0.0),
|
||||
vec3(0.0, 0.0, 1.0)
|
||||
);
|
||||
|
||||
void main() {
|
||||
gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0);
|
||||
fragColor = colors[gl_VertexIndex];
|
||||
}
|
||||
16
src/main.c
16
src/main.c
|
|
@ -697,6 +697,22 @@ void createGraphicsPipeline(Application *app) {
|
|||
VkPipelineShaderStageCreateInfo shaderStages[] = {vertShaderStageInfo,
|
||||
fragShaderStageInfo};
|
||||
|
||||
size_t dynamicStatesCount = 2;
|
||||
VkDynamicState dynamicStates[] = {VK_DYNAMIC_STATE_VIEWPORT,
|
||||
VK_DYNAMIC_STATE_SCISSOR};
|
||||
VkPipelineDynamicStateCreateInfo dynamicState = {0};
|
||||
dynamicState.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
|
||||
dynamicState.dynamicStateCount = dynamicStatesCount;
|
||||
dynamicState.pDynamicStates = dynamicStates;
|
||||
|
||||
VkPipelineVertexInputStateCreateInfo vertexInputInfo = {0};
|
||||
vertexInputInfo.sType =
|
||||
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
|
||||
vertexInputInfo.vertexBindingDescriptionCount = 0;
|
||||
vertexInputInfo.pVertexBindingDescriptions = NULL; // Optional
|
||||
vertexInputInfo.vertexAttributeDescriptionCount = 0;
|
||||
vertexInputInfo.pVertexAttributeDescriptions = NULL; // Optional
|
||||
|
||||
vkDestroyShaderModule(app->device, fragShaderModule, NULL);
|
||||
vkDestroyShaderModule(app->device, vertShaderModule, NULL);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue