1 / 12

Vizualizace částicových systémů

Vizualizace částicových systémů. Marek Gayer xgayer@fel.cvut.cz Computer Graphics Group Department of Computer Science and Engineering Faculty of Electrical Engineering of CTU. Cíle. Vizualizace pro obecné 3D částicové systémy Zvláštní zřetel na potřeby vizualizace spalovacích procesů

Download Presentation

Vizualizace částicových systémů

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vizualizace částicových systémů Marek Gayerxgayer@fel.cvut.cz Computer Graphics Group Department of Computer Science and Engineering Faculty of Electrical Engineering of CTU

  2. Cíle • Vizualizace pro obecné 3D částicové systémy • Zvláštní zřetel na potřeby vizualizace spalovacích procesů • Atributy– souřadnice, velikost a barva bodu • Úplná nezávislost na datových typech • Rychlost a stabilita • Možnost použít moduly pro výstup systému (OpenGL, zápis na disk, obrázky a animace) • Koncepce - nadstavba knihovny MGL

  3. Postup řešení • Prozkoumání zdrojových kódů jednoduchých částicových systémů na internetu • Rozšíření a doplnění vybraného stávajícího systému, nebo vytvoření zcela nového • Integrace do knihovny MGL • Optimalizace pro OpenGL extense • Provedení testů na jednoduchých příkladech

  4. Výsledky • Zpracoval jsem okolo 10 particle systémů: • Particle systém API – profesionáĺní systémwww.cs.unc.edu/~davemc/Particle/ • [ f l o w] animation softwarewww.reptilelabour.com • nVidia Particle Systems Demohttp://www.nvidia.com • Shammi Particle systemhttp://cgl.bu.edu/GC/shammi/

  5. Výsledky • Tom Valesky's – simulace explozíhttp://patriot.net/~tvalesky/752/ • Nehe OpenGL tutorials – Lesson 19http://nehe.gamedev.net/ • J. Dobry – Triangle speeds performancehttp://home.zcu.cz/~jdobry • GISMOS – molekulární P.S.http://garm.teokem.lu.se/gismos/ • Designing and Implementing Particle Systems in OpenGL - Trinity College Dublinwww.insa-lyon.fr/People/AEDI/tprucher/body/

  6. Výsledky • Topics In Computer Graphics Winter 1996Particle Systemswww.mdc.net/~mrz5149/particle.html • Thorn Screensaver 1.1www.acc.umu.se/~kegie/

  7. Výsledky – systém MPS • Vizualizace řádově desetitisíců částic • Systém nabízí pro vizualizaci body, trojúhelníky, čtverce nebo úsečky • Využívá vykreslování OpenGL elementů a polí a extensí pro jejich zamykání • Celkem 8 různých metod vykreslování • Atributy – pozice, barvy, vektor rychlosti • Nejlepší výsledky jsou dosahovány prostým kreslením bodů nebo úseček

  8. Výsledky – systém MPS • Lze nastavit velikost pro všechny elementy • Lze snadno rozšířit přidáním vlastních funkcí – např. pro zápis na disk, obrázky, … • Snadné nastavení parametrů – ukazatelů polí v jazyce C - pomocí funkcí modulu • Pro jednoduché GUI používá knihovnu MGL • Testoval jsem na jednoduchém příkladě http://www.gayer.ws/en/projects/mps/

  9. Obrazovka ukázkového příkladu

  10. Rychlosti vykreslování v rámcích/s • Vykreslování pomocí OpenGL vektorových polí, elementů a zamykání příliš nezrychluje 50 000 č P L T Q PE PA PEL PAL ================================================= Celeron 413 10 8 6 5 10 10 10 10 S3 Savage 4 15 8 7 6 15 - 14 - Matrox G200 23 14 10 8 9 22 13 13 GeForce 2 30 15 13 11 34 34 34 34 TNT 2 PCI 35 10 14 11 25 39 21 22 Všechny částice byly před měřením rychlosti vizualizace předpočítány a jejich parametry byly uloženy do příslušných polí požadovaných systémem MPS

  11. Systém MPS – soubor mps.h typedef float mpsVectorsType [3]; typedef float mpsDsType [3]; typedef float mpsColorsType [4]; #define MPS_POINTS 0 #define MPS_LINES 1 #define MPS_TRIANGLES 2 #define MPS_QUADS 3 #define MPS_POINTELEMENTS 4 #define MPS_POINTARRAYS 5 #define MPS_POINTELEMENTSLOCKED 6 #define MPS_POINTARRAYSLOCKED 7 #define MPS_DRAWMETHODMAX 8

  12. Systém MPS – soubor mps.h extern float mpsPointSize; extern float mpsMaxPointSize; void mpsSetupPointSize (float size); void mpsInit (void); void mpsSetupVector (float *vector); void mpsSetupD (float *d); void mpsSetupColors (float *colors); void mpsSetupLength (int length); char *mpsGetMethodName (int method); void mpsDraw (int method);

More Related