270 likes | 437 Views
Real-Time Rendering. POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova. Brief Outline. Surface Geometry Tessellation Shading Problem Edge Crack Consolidation Mesh Simplification. Geometric Representation. 3D objects are usually represented as geometric simplices (i.e. Triangles)
E N D
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova
Brief Outline • Surface Geometry • Tessellation • Shading Problem • Edge Crack • Consolidation • Mesh Simplification
Geometric Representation • 3D objects are usually represented as geometric simplices (i.e. Triangles) • Set of vertices (0-simplices) • Set of Edges (1-simplices) • Set of Triangles (2-simplices) • Surface normal for each triangle • Texture component and associated UV coordinate • Shading and lighting parameters • Object surface properties
Tessellation • The process of splitting a polygon into smaller pieces (usually triangles) • Types: • Regular tessellation • Convex tessallation • Triangle fan tessalation • Regular triangle tessallation
Correct Incorrect Quad Smooth Shading Problem • Occur during triangulation • Choice of diagonal can effect shading • Fixed diagonal division creates visual artifact • Triangulation may create incorrect texture Visual Artifact Correct
Solution to Smooth Shading Problem • Carefully choose diagonal • Choose shortest diagonal • Lit-quads: choose shortest color difference diagonal • Terrain models: Maximize minimum angle • Texture problem: • Further tessellate the object • Use different Texture Coordinate interpolation
Edge Cracking and Repair • Occurs in NURBS, Multiple LOD • When SPLINE surfaces meet, border mismatch and cracks are apparent • ROAM and PM with multiple LOD: • Occurs between primitives of different LOD • T-vertices creates cracks • Solution: Edge-stitching add aditional edges • Potential side-effect: Thin triangles (visual artifact) • Solution: Use more sophisticated split and crack repair scheme Repairing cracks
Consolidation • Processed after the tessellation phase • Consolidation: Finding and adjusting links between tessellated objects • Form a polygonal mesh (i.e. triangle mesh) • Perform triangle stripping • Solid objects or manifolds can facilitate culling techniques • Face Orientation and normal adjust all face-vertex order to either of CW or CCW, Normal in the right direction
General Approach to Consolidation • Form Vertex-edge-face for all polygons and sort them • Compute intersection and seam and determine solidity • Correct orientation (direction of normal) of each face • Normal must point Outward direction for a solid object • Find smoothing groups and compute vertex normal • Find boundaries • Create Polygonal meshes
Mesh Simplification • Use less number of triangles to render an object • Mesh simplification • Multiple LOD • Progressive meshes: • Error metric or Energy function • Two operations: vertex split or edge collapse • Apply refinements to minimize energy function
View-Dependent Refinementof Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97
View-dependent LOD 29,400 faces different LOD’s coexistover surface
vertex split vu vl vl vr vr vs vt edge collapse Review of progressive meshes 150 152 500 13,546 M0 M1 … M175 … Mn base mesh original mesh
152 500 13,546 150 Mn M1 M175 Mn … vspli … vspl0 vspln-1 M0 M0 vspl0 … vspli … vspln-1 progressive mesh (PM) representation M0 Mn Mi The PM representation
vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 M0 v1 v2 v3 v10 v10 v11 v4 v5 v5 v8 v9 v12 v13 v6 v6 v7 Mn v14 v15 Vertex hierarchy M0 vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 PM: M0 v1 v2 v3 [Xia & Varshney 96]
ICCSA 2004 GTVIS: Fast and Efficient Rendering System for Real-Time Terrain Visualization Russel A. Apu, Marina L. Gavrilova Department of Computer Science University of Calgary
Understanding Height FieldsDEM: Digital Elevation Model • Contains only relative Height • Regular interval • Pixel color determine height • Discrete resolution X Kluanne National Park Y
ROAM: Real-time Optimally Adapting Mesh Developed by Mark Duchaineau, Lawrence Livermore National Laboratory Quad Tree Triangle BIN Tree • No cracks • Reversible • Efficient • Adaptive
Improvements over Original ROAM Scheme • Preprocessing DEM image • Smoothing Techniques • Texturing • Amortized refinement • Very efficient • Higher Frame Rate (45FPS) • Continuity: Geo-morph sequence • Less variation in frame rate
Proposed Priority Function for Split Queue • Determines Refinement • Distribute LOD to preferred area • Can be changed • f=face, C=Camera • U=Uniformity • F=Frustum priority • D=Curvature priority • P=Distance priority • DET=Curvature (preprocessed) • Lev(f)=Subdivision level of face f
Speeding up the processAmortizing refinement • Updating the Split queue over multiple frames • Allow split queue (heap) to degenerate • Refine integrity using error threshold test • Re-generate queue after constant number of frames • Dramatic gain in speed
Understanding Geo-Morph • Smooth interpolation of vertex over subdivision • Requires maintenance of one additional queue (G-queue)
Smoothing • Compute face normal • Compute vertex normal • Local computation of normal during refinement (Geo-Morph) • Apply vertex normal when rendering • Advanced shading: Linear combination of face and vertex normal (Hybrid)
End of Lecture 05 Questions?