Пример #1
0
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);
}