Sistema de Partculas - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Sistema de Partculas

Description:

Un sistema de part culas es un conjunto de peque os objetos que est n en ... A. Watt, F. Policarpo '3D Games: Real-time Rendering and Software Techonology' Ed. ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 10
Provided by: univille
Category:

less

Transcript and Presenter's Notes

Title: Sistema de Partculas


1
Sistema de Partículas
  • Su aplicación a los gráficos en tiempo real

2
Sistema de Partículas
  • Un sistema de partículas es un conjunto de
    pequeños objetos que están en movimiento usando
    algún algoritmo
  • Modelar fuego, humo, explosiones, lluvia, nieve,
    estrellas...
  • No es una forma de renderizar, sino de animar los
    objetos que renderizamos.

3
Sistema de Partículas
  • La idea es controlar la creación, movimiento,
    cambio y eliminación de partículas durante el
    tiempo.
  • Tenemos un numero n máximo de partículas, cada
    una se crea en un instante de tiempo t,
    evoluciona a lo largo del tiempo según valores
    propios o del conjunto de partículas

4
Lluvia
  • CreaciónPara cada partícula Crear en posición
    (z, (x, y)) aleatoria Generar velocidad (vz,
    (vx, vy))
  • SimulaciónPara cada partícula activa z z
    vz Si toca suelo y continua lloviendo z
    zmax generar (x, y) (vz, (vx, vy))

5
Lluvia
  • RenderizaciónPara cada partícula Dibujar linea
    (x, y, z) a (xvx, yvy, zvz)
  • FinalizaciónCuando no ha de continuar lloviendo
    yPara cada partícula desactivada es cierto

6
  • class CRain CObject3D public CRain() CRai
    n(int numParticles) CRain() void Create(int
    numParticles) void Destroy() int
    GetNumParticles() void Simulate(float
    fIncTime) virtual void Render() virtual void
    RenderShadow() bool IsActive() void
    Active(bool bActivatetrue) void
    SetDimensions(float fX, float fY, float
    fZ) void GetDimensions(floatfX, floatfY,
    floatfZ)protected float m_fDimx, m_fDimy,
    m_fDimz bool m_bActivate int m_nParticles boo
    l m_bCreated CParticleRain m_pParticles

7
Consideraciones
  • El número de partículas no debe ser excesivo para
    no saturar la CPU
  • Usar arrays de tamaño fijo y controlar el número
    de partículas vivas
  • No solo la posición es objeto de simulación, se
    puede simular el tamaño, el color...
  • La simulación ha de ser realista pero de bajo
    coste computacional (SIMD)

8
Ejemplo Demo.zip
9
Bibliografía
  • A. Watt, F. Policarpo 3D Games Real-time
    Rendering and Software Techonology Ed. Acm-Press
  • T. Möller, E. Haines Real-time Rendering Ed. A
    K Peters
  • K. Hawkins, D. Astle, A. LaMothe OpenGL Game
    Programming Ed. Prima Tech
Write a Comment
User Comments (0)
About PowerShow.com