1 / 34

Curs 4

Curs 4. Modelarea in R ealitate V irtual ă. Medii virtuale. Sampling. Synthesis. Modeling. Behaviours. Properties. VIRTUAL ENVIRONMENT. Management. Rendering. Interaction. User. Modelarea. Procesul de descriere al unui obiect ( model ) prin synthesis sau sampling

chaney
Download Presentation

Curs 4

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. Curs 4 Modelarea in RealitateVirtuală

  2. Medii virtuale Sampling Synthesis Modeling Behaviours Properties VIRTUAL ENVIRONMENT Management Rendering Interaction User

  3. Modelarea • Procesul de descriere al unui obiect (model) prinsynthesissausampling • Modelul poate fi folosit în faza de rendering și/sau simulare • Proprietățile obiectului modelat: • Geometrice (formă) • Fizice • Mecanice (cinematică, dinamică,…) • Optice (culoare)

  4. Mesh-urile poligonale

  5. Low resolution

  6. High resolution

  7. Structuri de date Exemple: • Geometry = Listăde vârfuri(n elemente) G = { v1: [x1, y1, z1], v2: [x2, y2, z2], …, vn: [xn, yn, zn],} • Connectivity = Listătriunghiuri (m elemente ~2n) : C = { t1: [vi, vj, vk], t2: [vk, vl, vp], …, tm: [vq, vs, vt], }

  8. Format fișiser 3D: VRML VRML (Virtual Reality Modeling Language) – mult mai mult decât un format de date -pune la dispoziție posibilități de interacțiune și descriere. În zilele noastre este folosit ca format de fișier “universal” pentru numeroase aplicații SW în ciuda faptului ca are mai multe dialecte. VRML poate descrie o întreagă scenă 3D drept un copac cu noduri. Există 54 de tipuri de noduri, fiecare dintre ele reprezentând în mod direct obiecte 3D sau realizândconexiuni geometrice. VRML premite specificarea materialului, a texturilor, pozitia camerei, luminile, etc. http://www.wiley.com/legacy/compbooks/vrml2sbk/toc/toc.htm VRML -> X3D format (multi-syntax)

  9. Format fișiser 3D: COLLADA Acronim -COLLAborative Design Activity, creat pentru a deveni format universal, bazat pe XML. Marca Sony, open-source - Khronos Group. Folosit de Google Earth pentru a stoca informația 3D. Permite definirea informației de natură fizică. khronos.org/collada/

  10. Format fișiser 3D: FBX Forma binar creat de Kaydara pentru Filmbox (MOCAP sw), a devenit un format foarte cunoscut. A fost achizitionat de Autodesk care a făcut release la SDK – a devenit “open-standard” (aproape). Se pot specifica nu numai date de natură 3D, dar de asemenea animații, audio, video. etc. Permit includerea unor fișiere cu extensii de alte formate (ex.COLLADA). autodesk.com/fbx/

  11. Format fișiser 3D: AAM Format XVR nativ: – optimizatpe timpi de randare XVR – ASCII sau binary – 1:1 cu structuri de date XVR • Suportă: • Multitexturing • Animations • Smoothing Groups • Shaders, Skinning • Exportă Max, Maya, Blender

  12. Mixed modeling: Point-based modeling • Componente de bază- surfels (surface elements), specificate prin: • Coordonate 3D • Culoare/Material • Normală (pentru lighting) • Mai puțină încărcare decât în cazul vorxelilor • Excelent cu modele “samplate”, se evită nevoia de a produce meshuriprecum și problemele de conectivitate • Nu există implementări HWeficiente • Nu sunt optimepentru geometrii simpleși suprafețe plane

  13. Modelare procedurală

  14. Sampling

  15. Sampling • Este posibilă măsurarea directă, prin scanare, a formei unui obiect (și a culorii în unele cazuri) • Scanarea produce un ‘nor’ de puncte, mai mult sau mai puțin dens - depinde de rezoluția scanerului • De obicei, norul de puncte (point cloud)este procesat pentru a produceun mesh poligonal (este calculată conectivitatea) Meshul rezultat este de obicei high-res, și necesită simplificare pentru afi randatîn real-time

  16. Sampling: data flow Realobject Cloudofpoints Polygonalmesh Meshing 3D Scan Optimization Detailrecover Simplification

  17. Sampling

  18. Modelarea bazată pe imagini • Tehnica de modelarecare folosește poze realepentru a descrie proprietăți geometrice • Mai bine spus: “Image based modeling and rendering”deoarece aceste 2 aspecte sunt practic inseparabile. • Ca si exemplu: photogrammetry,unde 2 sau mai mult poze, luate din diferite poziții, sunt procesate pentru a returna măsurătorice conduc la calculul coordonatelor 3D ale unui obiect • http://www.youtube.com/watch?v=H2GDkdvkI74 • http://www.youtube.com/watch?v=fLnd9ucUu9Y&feature=endscreen&NR=1 • http://www.youtube.com/watch?v=ftbnETO_c-w&feature=related • http://www.youtube.com/watch?v=qRrMHaO6NpE

  19. Unelte software

  20. Software pentru grafică 3D • Obiective distinctedar strâns legate: • shape modeling • animation • physical modeling • rendering • - setarea luminilor • - definirea materialelor • - definirea camerelor • - procesarea • - offline / real-time Generareaunei imagini 2D care corespunde perspectivei3D a scenei,din viewpointul respectiv

  21. Frameworkuri RV Application VRFramework Networking Fisica 3D Haptics Engine 3D Audio Engine 3D GraphicsEngine OpenGL OpenGL OpenHaptics OpenAL OpenAL HW Tracking HW Haptic HW Audio HW Visual

  22. Workflow Geometryfile Geometry modeling export 3D ModelingSoftware Material Texture Textures import VirtualEnvironment programming VRFramework Application

  23. Managementul scenei Grafică 3D real-time • Rata minimă de refresh - 25 Hz • Nevoia de a procesa rapid scene complexe (tframe<40 ms) • Bottleneck – HW pentru grafică • Obiectiv: ușurarea loadului computaționalpe HW pentru grafică • Soluție: managementul sceneipentru (în vederea): • Permiterii de calcule rapide • Evitarea trimiterii către pipeline-ul grafic a unor poligoane care nu sunt necesare • Un management efectiv are nevoie de o structură organizată • SCENE GRAPH

  24. Scene Graph • STRUCTURĂ NON-IERARHICĂ • 3D grid, voxels • Simpludar nu prea eficient • STRUCTURĂ IERARHICĂ • Complex dar eficient • Are nevoie de pre-procesare • De tip TreeorDAG (Directed acyclic graph) • Ciclurile nu sunt permise

  25. SG • Ce informatie contine SG?? • Geometrică – datele spațiale • Camerele • Sunete, Lumină, etc. • DE CE IERARHICĂ? • Ex. Testul de visibilitate • Partițiaeste făcută după ocupare spațială • Tăierea rapidă de subarbori, dar algoritmi complecși • PREPROCESARE • off-line Chiar dacă poate fi complexă, nu sunt limite de timp

  26. SG • Folosire ierarhică • Descompunerea posibilă: • Scenă -> Obiecte • Obiecte -> Părți • Părți -> Poligoane • Nodul rădăcinăeste legat la un sistem de referință • Fiecare nod este legat la alt nod, la un sistem de referință și la o listă de poligoane • Posibilă limitare: poligoaneledoar pe frunze În aceste cazuri, un nod intermediar este folosit pentru a stoca: • Transformările geometrice • Organizarea spațială (Clustering) • Proprietățile comune

  27. Folosirea arborelui • Arborele NU e construit în real-time • Arborele este traversatîn real-time: • Se pleacă de la rădăcină • Fiecare nod (proprietățile acestuia)este verificat în funcție de scop: • Collision Detection • Visibility • Etc. • Arborele pentru un singur obiect: • Nod  sub obiect, sau direct triunghiuri • Arborele pentru întreaga scenă: • Nod  pointer la o structură de datea unor obiecte din interiorul regiunii legate de nod

  28. Structuri geometrice în SG • BSP – trees – Binary Space Partitining Trees • Tot spațiul este divizat • Top-Down • Pot exista subdiviziuni goale • Cazuri speciale: k-d-tree,quadtree, octree • Bounding Volume Trees • Bounding Volume • Bottom-Up • Clustering

  29. BSP tree • Spațiu este subdivizat de fiecare datăîn 2 subspațiuricu ajutorul unui plan (BSP: Binary Space Partition) • Dacă planul de subdivizareeste orientat întotdeauna de-a lungul uneiadintre cele 3 axe, este generat un k-d-tree • Dacăun k-d-tree este întotdeauna subdivizatde-a lungul celor 3 axeprincipale, este obținut un octree (BSP xu subspații cubice)

  30. Octree • Cea mai simplă formă de organizare ierarhicăa spațiului • Unitate fundamentală - cubul • Procesul de subdiviziune este oprit atunci cand: • Este atinsă adâncimea maximă • Cantitatea minimă de geometrie este legată de nod • Un nod gol nu mai este împărțit

  31. Quadtree

  32. De ce BSP tree? • Octree nu este cea mai bună alegere dacă geometria spațiului nu este distribuită uniform • BSP tree permite o partiționare mai ‘strâmtă’ atunci când avem de-a face cu o geometrie mai densă, și mai ‘largă’ în caz contrar • Arborele rezultat este mai ‘proporționat’

  33. BVH - Bounding Volumes Hierarchy • Bottom-Up • Pornește de la obiecte, sau clustere de obiecte • Alegerea volumelor de conținut • Crearea unei ierarhii de volume de conținut până la nodul de rădăcină, care este BV pentru întreaga scenă • Ce fel de BV? • Bounding Sphere • Bounding Box • AABB (Axis Aligned) • OBB (Oriented) • Trade off: Simplicitate – Eficiență vs. Reprezentabilitate

  34. BVH • Avantaje: • La nivele mici, BV subdivizează într-un mod mai bun spațiul, spre deosebire de alte metode • Maiușor de updatat în cazul în care avem obiecte care se mișcă: când se schimbă o frunză BV, schimbările sunt propagate până la nivelele superioare • Dezvoltări Mixte: • Posibilitatea de a folosi abordări de subdivizare mixte: • Inter-object • Intra-object

More Related