void ParticleEmitter::createVelocity(GLfloat velocity[3]) { float speed; if(minSpeed != maxSpeed) speed = minSpeed + (rand01() * (maxSpeed - minSpeed)); else speed = minSpeed; Vector3 vel; if(angle == 0) { vel = Vector3(direction); vel *= speed; } else { Vector3 dir(direction); vel = randomDeviant(direction, rand01() * angle); vel *= speed; } vel.fillGL(velocity); }
// ----------------------------------------------------------------------------------------- CPepeEngineVector3 CPepeEngineVector3::randomDeviant(float angle, const CPepeEngineVector3& up) const { return randomDeviant(Radian(angle), up); }