diff --git a/projects/wobble_bobble/shaders/particle.frag b/projects/wobble_bobble/shaders/particle.frag
index 1c3fae9756c219eea49af846fac6e16582a74646..deee9d4ec1b4b175aa8978fb2af79ddd0f118561 100644
--- a/projects/wobble_bobble/shaders/particle.frag
+++ b/projects/wobble_bobble/shaders/particle.frag
@@ -8,7 +8,7 @@ void main()	{
     const float value = length(passPos);
 
     if (value < 0.5f) {
-        outColor = vec4(1.0f - value, 0.0f, 0.0f, 1.0f);
+        outColor = vec4(1.0f, 0.0f, 0.0f, 1.0f - value * 2.0f);
     } else {
         discard;
     }
diff --git a/projects/wobble_bobble/shaders/particle.vert b/projects/wobble_bobble/shaders/particle.vert
index e01f9f861b69cc8219e572d6150f3acb9a2b1a20..d593be419fa75d477cfbb1ae5935973e8bd6af1e 100644
--- a/projects/wobble_bobble/shaders/particle.vert
+++ b/projects/wobble_bobble/shaders/particle.vert
@@ -16,5 +16,5 @@ void main()	{
     float size = particles[gl_InstanceIndex].minimal.size;
 
     passPos = vertexPos;
-    gl_Position = vec4(position + vec3(vertexPos * size, 0), 1);
+    gl_Position = vec4(position + vec3(vertexPos * size * 2.0f, 0), 1);
 }
\ No newline at end of file
diff --git a/projects/wobble_bobble/src/main.cpp b/projects/wobble_bobble/src/main.cpp
index bfcc6143f21f73f383e01cf10d74cd17e97e3512..e76412ea48efb0f79e489953138c5b967b83c753 100644
--- a/projects/wobble_bobble/src/main.cpp
+++ b/projects/wobble_bobble/src/main.cpp
@@ -247,6 +247,16 @@ int main(int argc, const char **argv) {
 		)
 	});
 	
+	vkcv::DescriptorSetLayoutHandle gfxSetLayout = core.createDescriptorSetLayout(
+			gfxProgram.getReflectedDescriptors().at(0)
+	);
+	
+	vkcv::DescriptorSetHandle gfxSet = core.createDescriptorSet(gfxSetLayout);
+	
+	vkcv::DescriptorWrites writesGfx;
+	writesGfx.storageBufferWrites.push_back(vkcv::BufferDescriptorWrite(0, particles.getHandle()));
+	core.writeDescriptorSet(gfxSet, writesGfx);
+	
 	vkcv::PassHandle gfxPass = core.createPass(passConfig);
 	
 	vkcv::VertexLayout vertexLayout ({
@@ -259,7 +269,7 @@ int main(int argc, const char **argv) {
 	gfxPipelineConfig.m_Height = windowHeight;
 	gfxPipelineConfig.m_PassHandle = gfxPass;
 	gfxPipelineConfig.m_VertexLayout = vertexLayout;
-	gfxPipelineConfig.m_DescriptorLayouts = { core.getDescriptorSetLayout(transformParticlesToGridLayouts[0]).vulkanHandle };
+	gfxPipelineConfig.m_DescriptorLayouts = { core.getDescriptorSetLayout(gfxSetLayout).vulkanHandle };
 	gfxPipelineConfig.m_UseDynamicViewport = true;
 	gfxPipelineConfig.m_blendMode = vkcv::BlendMode::Additive;
 	
@@ -288,7 +298,7 @@ int main(int argc, const char **argv) {
 	
 	drawcalls.push_back(vkcv::DrawcallInfo(
 			triangleMesh,
-			{ vkcv::DescriptorSetUsage(0, core.getDescriptorSet(transformParticlesToGridSets[0]).vulkanHandle) },
+			{ vkcv::DescriptorSetUsage(0, core.getDescriptorSet(gfxSet).vulkanHandle) },
 			particles.getCount()
 	));