From cad9bcb3be7c38811caf8ce9ae471c9cbb01aa9c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gy=C3=B6rgy=20Straub?= Date: Fri, 13 Nov 2020 10:31:42 +0000 Subject: [PATCH] Fixed SVACE defects in Particles example. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Ie0c14f01aee1d63e20e20fcabaf51e6274fec1c5 Signed-off-by: György Straub --- examples/particles/particle-field.h | 5 ++++- examples/particles/particle-view.cpp | 14 +++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/particles/particle-field.h b/examples/particles/particle-field.h index a629572..eb112db 100644 --- a/examples/particles/particle-field.h +++ b/examples/particles/particle-field.h @@ -93,7 +93,10 @@ struct ParticleField for (size_t i = 0; i < numParticles; ++i) { Vertex v; - v.aPosition = Vector3((i % nx) * spacing.x, (i / nx) % ny * spacing.y, (i / nxy) * spacing.z) - offset; + float x = float(i % nx); + float y = float((i / nx) % ny); + float z = float(i / nxy); + v.aPosition = Vector3(x, y, z) * spacing - offset; Vector3 disperseDir(frandDisperse() - .5, frandDisperse() - .5, frandDisperse() - .5); disperseDir.Normalize(); diff --git a/examples/particles/particle-view.cpp b/examples/particles/particle-view.cpp index 4af6fdb..36db679 100644 --- a/examples/particles/particle-view.cpp +++ b/examples/particles/particle-view.cpp @@ -262,18 +262,18 @@ ParticleView::ParticleView(const ParticleField& field, Dali::Actor world, Dali:: // scatter variables char nameBuffer[64]; - char* writep = nameBuffer + sprintf(nameBuffer, "uScatter["); + char* writep = nameBuffer + snprintf(nameBuffer, sizeof(nameBuffer), "uScatter["); for (uint32_t i = 0; i < std::extent::value; ++i) { - char* writep2 = writep + sprintf(writep, "%d].", i); + char* writep2 = writep + snprintf(writep, sizeof(nameBuffer) - std::distance(nameBuffer, writep), "%d].", i); - sprintf(writep2, "radiusSqr"); + snprintf(writep2, sizeof(nameBuffer) - std::distance(nameBuffer, writep2), "radiusSqr"); mScatterProps[i].mPropRadius = particleShader.RegisterProperty(nameBuffer, 0.f); - sprintf(writep2, "amount"); + snprintf(writep2, sizeof(nameBuffer) - std::distance(nameBuffer, writep2), "amount"); mScatterProps[i].mPropAmount = particleShader.RegisterProperty(nameBuffer, 0.f); - sprintf(writep2, "ray"); + snprintf(writep2, sizeof(nameBuffer) - std::distance(nameBuffer, writep2), "ray"); mScatterProps[i].mPropRay = particleShader.RegisterProperty(nameBuffer, Vector3::ZERO); } @@ -285,7 +285,7 @@ ParticleView::ParticleView(const ParticleField& field, Dali::Actor world, Dali:: const uint32_t skip = GetSkipValue(POPULATION_GRANULARITY, prime); uint32_t next = 0; - writep = nameBuffer + sprintf(nameBuffer, "uOrderLookUp["); + writep = nameBuffer + snprintf(nameBuffer, sizeof(nameBuffer), "uOrderLookUp["); for (uint32_t i = 0; i < POPULATION_GRANULARITY; ++i) { do { @@ -294,7 +294,7 @@ ParticleView::ParticleView(const ParticleField& field, Dali::Actor world, Dali:: } while (next == 0 || next > POPULATION_GRANULARITY); - sprintf(writep, "%d]", i); + snprintf(writep, sizeof(nameBuffer) - std::distance(nameBuffer, writep), "%d]", i); particleShader.RegisterProperty(nameBuffer, float(next - 1)); } -- 2.7.4