Skip to content

Commit

Permalink
use cmdDrawIndexedIndirect instead of normal draw
Browse files Browse the repository at this point in the history
  • Loading branch information
Avokadoen committed Dec 20, 2022
1 parent 75e2721 commit 445f042
Show file tree
Hide file tree
Showing 4 changed files with 209 additions and 118 deletions.
7 changes: 4 additions & 3 deletions assets/shaders/shader.frag
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
#version 450

layout(location = 0) in vec2 fragTexCoord;
layout(location = 0) in vec3 fragTexCoord;

layout(location = 0) out vec4 outColor;

layout(binding = 1) uniform sampler2D texSampler;
// TODO: array of normal samplers instead using indexed descriptor sets
layout(binding = 0) uniform sampler2D texSampler;

void main() {
outColor = texture(texSampler, fragTexCoord);
outColor = texture(texSampler, fragTexCoord.xy);
}
17 changes: 9 additions & 8 deletions assets/shaders/shader.vert
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
#version 450

layout(binding = 0) uniform UniformBufferObject {
mat4 transform;
} ubo;

//push constants block
// Push constants block
layout(push_constant) uniform push_constants
{
mat4 projection_view;
} camera;

// Vertex attributes
layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec2 inTexCoord;

layout(location = 0) out vec2 fragTexCoord;
// Instanced attributes
layout(location = 2) in int instanceTexIndex;
layout(location = 3) in mat4 instanceTransform;

layout(location = 0) out vec3 fragTexCoord;

void main() {
gl_Position = camera.projection_view * ubo.transform * vec4(inPosition, 1.0);
fragTexCoord = inTexCoord;
gl_Position = camera.projection_view * instanceTransform * vec4(inPosition, 1.0);
fragTexCoord = vec3(inTexCoord, instanceTexIndex);
}

0 comments on commit 445f042

Please sign in to comment.