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 3df8652a..c4bb6a70 100644 Binary files a/data/shaders/computeparticles/particle.frag.spv and b/data/shaders/computeparticles/particle.frag.spv differ 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 4f0dc82c..70c3b3ad 100644 Binary files a/data/shaders/computeparticles/particle.vert.spv and b/data/shaders/computeparticles/particle.vert.spv differ