From 272132a2a4be7579eeacbc612d17e91b12ee6f4a Mon Sep 17 00:00:00 2001 From: saschawillems Date: Thu, 21 Apr 2016 22:02:22 +0200 Subject: [PATCH] Corrected attribute binding format, lowered particle count for android --- computeparticles/computeparticles.cpp | 13 +++++++++---- .../computeparticles/particle.frag.spv | Bin 452 -> 452 bytes data/shaders/computeparticles/particle.vert | 2 +- .../computeparticles/particle.vert.spv | Bin 1096 -> 1068 bytes 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/computeparticles/computeparticles.cpp b/computeparticles/computeparticles.cpp index c552c726..960833ca 100644 --- a/computeparticles/computeparticles.cpp +++ b/computeparticles/computeparticles.cpp @@ -23,7 +23,12 @@ #define VERTEX_BUFFER_BIND_ID 0 #define ENABLE_VALIDATION false +#if defined(__ANDROID__) +// Lower particle count on Android for performance reasons +#define PARTICLE_COUNT 512 * 1024 +#else #define PARTICLE_COUNT 2048 * 1024 +#endif class VulkanExample : public VulkanExampleBase { @@ -253,10 +258,10 @@ public: // Initial particle positions std::vector particleBuffer(PARTICLE_COUNT); - for (auto& element : particleBuffer) + for (auto& particle : particleBuffer) { - element.pos = glm::vec2(rDistribution(rGenerator), rDistribution(rGenerator)); - element.vel = glm::vec2(0.0f); + particle.pos = glm::vec2(rDistribution(rGenerator), rDistribution(rGenerator)); + particle.vel = glm::vec2(0.0f); } uint32_t storageBufferSize = particleBuffer.size() * sizeof(Particle); @@ -320,7 +325,7 @@ public: vkTools::initializers::vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 0, - VK_FORMAT_R32G32B32A32_SFLOAT, + VK_FORMAT_R32G32_SFLOAT, 0); // Assign to vertex buffer diff --git a/data/shaders/computeparticles/particle.frag.spv b/data/shaders/computeparticles/particle.frag.spv index 3df8652a61ae41aacce4cab0bedbe583367ceb42..c4bb6a705657ed0b86184be008b50ab89181b9e3 100644 GIT binary patch delta 12 TcmX@Ye1v&I3M2c*)Obb!9XA94 delta 12 TcmX@Ye1v&I3M0qH)Obb!9XtdA diff --git a/data/shaders/computeparticles/particle.vert b/data/shaders/computeparticles/particle.vert index 96cea5cf..7b6acb4b 100644 --- a/data/shaders/computeparticles/particle.vert +++ b/data/shaders/computeparticles/particle.vert @@ -3,7 +3,7 @@ #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_420pack : enable -layout (location = 0) in vec4 inPos; +layout (location = 0) in vec2 inPos; layout (location = 0) out vec4 outColor; diff --git a/data/shaders/computeparticles/particle.vert.spv b/data/shaders/computeparticles/particle.vert.spv index 4f0dc82c3d8d5fc61f7c5052ad8008989629a9e5..70c3b3ad9e96a3f833c3376f2a8eb6b7f6436a8f 100644 GIT binary patch delta 211 zcmX@Xv4(?}nMs+Qfq@YSIT#cs^2RetZOr9oWR#j*%UI1QwfQHbJ)^ET0}F!$0|Nsa z5HkU>0+25Wq#1!2ByJ7mOM%2Dr!xCjfJCK%7$g$NzzWtW0~G^Oa4}h^7|5gm26iB1 pV2}f1kXn$O02Dg{%@78%<$;(Nh{b`}j)57>2dV!Hbc+QL0{}pt4{iVe delta 240 zcmXwx%LxKO5JanY{LE!g5Lw6Xif8YFpcuhw1fDz^frv54rr||Q!jwD+RxRTU52~xH z>*3!%xNOk|jNfB^4@Zm7bH^-JSG!nzeQayX0u2nH6u>anX^zRuIS;8@B&$xYyeTyz zN|e0OcAPxsLaJ8X>FDq8$ E2i>v|F#rGn