summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/qt3d/compute-particles/ParticlesScene.qml9
-rw-r--r--examples/qt3d/compute-particles/particles.comp8
2 files changed, 9 insertions, 8 deletions
diff --git a/examples/qt3d/compute-particles/ParticlesScene.qml b/examples/qt3d/compute-particles/ParticlesScene.qml
index cbb21f266..e63c6cb91 100644
--- a/examples/qt3d/compute-particles/ParticlesScene.qml
+++ b/examples/qt3d/compute-particles/ParticlesScene.qml
@@ -94,12 +94,13 @@ Entity {
readonly property int floatSize: 4
function buildParticlesBuffer() {
- var bufferData = new Float32Array(particlesCount * 4 * 3);
+ var byteSizeOfParticleData = 12;
+ var bufferData = new Float32Array(particlesCount * byteSizeOfParticleData);
var factor = 500.0;
for (var i = 0; i < particlesCount; ++i) {
- var positionIdx = i * 12;
- var velocityIdx = i * 12 + 4;
- var colorIdx = i * 12 + 8;
+ var positionIdx = i * byteSizeOfParticleData;
+ var velocityIdx = i * byteSizeOfParticleData + 4;
+ var colorIdx = i * byteSizeOfParticleData + 8;
for (var j = 0; j < 3; ++j) {
bufferData[positionIdx + j] = (Math.random() - 0.5) * factor;
diff --git a/examples/qt3d/compute-particles/particles.comp b/examples/qt3d/compute-particles/particles.comp
index 7feaf5fdd..af993bbe2 100644
--- a/examples/qt3d/compute-particles/particles.comp
+++ b/examples/qt3d/compute-particles/particles.comp
@@ -7,9 +7,9 @@ layout (local_size_x = 1024) in;
struct ParticleData
{
- vec3 position;
- vec3 direction;
- vec3 color;
+ vec4 position;
+ vec4 direction;
+ vec4 color;
};
// Particles from previouse frame
@@ -29,7 +29,7 @@ void main(void)
currentParticle.position = currentParticle.position + currentParticle.direction * particleStep;
// Make acceleration more or less point toward the center of the scene
- vec3 acceleration = normalize(vec3(0.0) - currentParticle.position) * finalCollisionFactor;
+ vec4 acceleration = normalize(vec4(0.0) - currentParticle.position) * finalCollisionFactor;
// New velocity = old velocity + acceleration over step duration
currentParticle.direction = currentParticle.direction + acceleration * particleStep;