From 470f814776e4e183f73e98bb6c74edb3228eb6ef Mon Sep 17 00:00:00 2001 From: ericrius1 Date: Tue, 3 Nov 2015 16:39:16 -0800 Subject: [PATCH] Fixed glitches with large particles being sorted along wrong axis --- .../src/RenderableParticleEffectEntityItem.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp index ddeccc141c..2d0c40ac56 100644 --- a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp @@ -218,10 +218,10 @@ void RenderableParticleEffectEntityItem::updateRenderItem() { // build vertices from particle positions and radiuses glm::vec3 frustumPosition = frustum->getPosition(); + glm::vec3 dir = frustum->getDirection(); for (auto&& particle : particleDetails) { - glm::vec3 particleDirection = particle.position - frustumPosition; - glm::vec3 right = glm::normalize(glm::cross(glm::vec3(0.0f, 1.0f, 0.0f), particleDirection)); - glm::vec3 up = glm::normalize(glm::cross(right, particleDirection)); + glm::vec3 right = glm::normalize(glm::cross(glm::vec3(0.0f, 1.0f, 0.0f), dir)); + glm::vec3 up = glm::normalize(glm::cross(right, dir)); glm::vec3 upOffset = up * particle.radius; glm::vec3 rightOffset = right * particle.radius;