SlideServe
Menu
Préférences
© SlideServe · v2026

Fast Simulation of Lightning for 3D Games

garin avatar
25 diapositives · 423 Views · Jun 28, 2012

This project presents a fast simulation algorithm for realistic cloud-to-ground lightning strikes in 3D games, focusing on real-time performance and aesthetic quality. Utilizing Cellular Automata, we simulate lightning behavior, including stepped leaders and return strokes. The design includes complex algorithms for generating lightning branches and evaluating electrical fields based on atmospheric properties. Results demonstrate visually appealing lightning effects tailored for immersive gameplay with minimal lag, paving the way for future enhancements, including support for light sources and improved branch modeling.

Fast Simulation of Lightning for 3D Games - slide 1
01 / 25Fast Simulation of Lightning for 3D Games
1 / 17

Télécharger la présentation

Fast Simulation of Lightning for 3D Games
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Fast Simulation of Lightning for 3D Games Jeremy Bryan Advisor: Sudhanshu Semwal

  2. Overview • Introduction • Applications • Previous Research • Design • Implementation • Results • Future Work • Conclusion

  3. Introduction • Realistic cloud-to-ground lightning strike • 3D game emphasis • Real-time requirement • Cellular Automata implementation

  4. Introduction (cont.) • Lightning Basics • Strong electrical field • Stepped leader • Upward positive leader • Attachment process • Return stroke

  5. Applications • 3D Games • Movies • Physical modeling • ???

  6. Previous Research • Reed • “Visual Simulation of Lightning” • Emphasis on rendering with ray-tracing • Simple 3D model generation

  7. Previous Research (cont.)

  8. Previous Research (cont.) • Dobashi • Identical modeling technique as Reed • Takes scattering effect due to atmospheric particles and clouds into account

  9. Previous Research (cont.)

  10. Previous Research (cont.) • UCCS Physics website r is a generated random number that represents atmospheric properties. E is the electric field and can be found by using Maxwell’s Equations. α controls the weight of E on r. • Find largest breakdown number (X) • X=Eαr

  11. Cellular Automata • Discreet lattice • Discreet time-steps drive simulation • Each cell has finite set of values • Each cell evolves according to same set of rules • Evolution of cell depends only upon local neighborhood interaction

  12. Design • Complex Lightning Algorithm • Ground up • Assign values on the fly • Random numbers for “r” • Make the calculations • Find largest breakdown number (X) • X=Eαr • Segment length

  13. Design (cont.) • Pseudocode Proc GenerateComplexLightning // Load the starting coordinates list.add target.coords while height <= MAX_ALTITUDE Assign r to 26 neighbor cells if they do not have one Calculate E for 26 neighbor cells if not done previously Find maximum X list.add maxE.coords end while for each voxel in list temp = rand() if temp < BRANCH_PROBABILITY then GenerateComplexBranch() end if end for end proc

  14. Design (cont.)

  15. Design (cont.) • Complex Branch Algorithm • Parent iteration • Uniformly distributed probability function • Recursive • Random branch length

  16. Design (cont.) • Pseudocode Proc GenerateComplexBranch BranchLength = rand() while (BranchHeight >= 0 And BranchLength >=0) Assign r to neighbor cells if they do not have one Calculate E for cells if not done previously Find maximum X BranchList.add maxE.coords end while for each coord in BranchList.coords if (rand() < BRANCH_PROBABILITY) then GenerateComplexBranch() end if end for end proc

  17. Implementation • Object-Oriented Design • Programming Languages • Supporting packages • HeightMap Tutorial • Linked list library • OpenGL car tutorial

  18. Implementation (cont.) • Development model • Class structures • CCamera • CVoxel • Lightning • Camera • Target • Car • Explosion

  19. Implementation (cont.) • Observations • Run-time dependent on max branch depth and probability of branching • Large branch clusters detract from final product and are time intensive • Number of voxels in a given dimension match map size. Increasing resolution would not enhance results.

  20. Results

  21. Results (cont.)

  22. Results (cont.) • Survey

  23. Results (cont.) Sample Size = 64

  24. Future Work • Efficiency • Support for light sources • Branch modeling • Control point support • ???

  25. Conclusion • Aesthetically pleasing results • No discernable lag-time • 3D game environment