Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Content • Introduction • CityGML • Data structure • Rendering • Shadows • Ray tracing • Conclusion and prospects • Demo Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Introduction • Thesis objectives: – Development of an interactive 3D city model viewer – Data source: CityGML – Focus on shadow display – Support of time-dependent city data • Cities developing over centuries • No animation Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
CityGML • Information model for representing 3D urban city objects • Contains different aspects of cities, including: – Geometry – Appearance – Semantics – Topography • Based on the “Geography Markup Language” (GML) Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
CityGML LOD1 LOD2 LOD4 LOD3 Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
CityGML • Building model as example • Much more semantic information in full model «Geometry» «Feature» «Feature» gml:: _Solid Building BuildingPart 0..1 consistsOfBuildingPart 4 0..1 lod4Solid 3 lodXSolid, X ϵ [1..4] 0..* * 1 «Feature» 3 interiorRoom «Feature» _AbstractBuilding Room * * +yearOfConstruction[0..1] : xs:gYear boundedBy 4 +yearOfDemolition[0..1] : xs:gYear boundedBy 0..1 +storeysAboveGround[0..1] : xs:nonNegativeInteger +storeysBelowGround[0..1] : xs:nonNegativeInteger * * lodXMultiSurface, X ϵ [1..4] «Feature» _BoundarySurface 0..1 lodXMultiSurface, X ϵ [2..4] «Geometry» * gml:: MultiSurface 0..1 Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
CityGML • Appearance model • Each appearance belongs to a theme (like summer and winter, heat images) • Appearance defined outside of geometry model – Appearances are attached to surfaces – Surface itself does not know about its appearance Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
CityGML • Appearance model excerpt: * «Feature» _CityObject * * * «Feature» «Feature» 3 surfaceDataMember 3 appearanceMember _SurfaceData Appearance +isFront[0..1] : xs:boolean = true +theme[0..1] : xs:string * «Feature» CityModel «Feature» «Feature» «Feature» X3DMaterial _AbstractTexture ParameterizedTexture +transparency[0..1] : doubleBetween0and1 +imageURI[1] : xs:anyURI +diffuseColor[0..1] : Color * 3 target +isSmooth[0..1] : xs:boolean TextureAssociation +target[0..*] : xs:anyURI +uri : xs:anyURI * «Object» TexCoordList «Object» _TextureParameterization +textureCoordinates[1..*] : gml:doubleList +ring[1..*] : xs:anyURI Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
CityGML • Uses subset of GML geometry model • Excerpt: «Geometry» «Geometry» gml:: _GeometricPrimitive gml:: _Geometry «Geometry» «Geometry» «Geometry» «Geometry» 1 exterior 4 gml:: _Solid gml:: _Surface gml:: Point gml:: _Curve 1..* interior 4 1..* 0..1 interior 4 «Geometry» * «Geometry» «Geometry» gml:: Polygon gml:: CompositeSolid gml:: Solid exterior 4 * * 1 «Geometry» 1 0..1 0..* 3 patches gml:: Surface «Geometry» 1..* gml:: _Ring gml:: SurfacePatch exterior 4 1 «Geometry» gml:: Triangle * «Geometry» gml:: LinearRing +position[4..*] : gml:DirectPosition Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Content • Introduction • CityGML • Data structure • Rendering • Shadows • Ray tracing • Conclusion and prospects • Demo Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • CityGML scene graph inefficient for rendering – Many very small draw calls – Frequent state changes – No usage of occlusion information • Better: clustering based on – appearance to reduce state changes and draw calls – spatial coherence to use occlusion information Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Conclusion and prospects Geometry data CityGML Application GPU • Positions (double) • Positions (float) • Similar to application • Texture • Normals coordinates • Compressed! • Texture coordinates • Triangulated • Stored in kd-tree Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Spatial coherence – Bottom-up • Bounding volume hierarchies – Top-down (spatial subdivision) • Uniform • Octree • BSP tree – Kd-tree (axis aligned BSP) Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Kd-tree chosen because of – Performance • For rendering and ray tracing – Simplicity • Axis aligned splitting planes allow many simplifications – Well-known – Flexibility • Incorporation of time dimension Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Kd-tree construction a) Insert all objects at once b) Choose splitting plane 1) Split dimension 2) Split value c) Divide objects into left and right and recursively continue with a) until termination criterion is met 1) Split intersecting objects Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • How to choose splitting plane? – Naïve: • Current depth specifies split dimension • Split at center of split dimension – Cube-like voxels • Split dimension has largest extent • Split at center – Binary search • Split dimension has largest variance • Split at median of split dimension Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Construction optimized for culling empty space – Surface Area Heuristic (SAH) as cost prediction function of a split – SAH idea is based on assumptions • Rays (or view directions) distributed equally through space • Rays cannot be blocked by scene objects – Surface of kd-tree node used to approximate ray intersection probability Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Probability of ray intersecting V L and V R , given V is hit: ( ) ( ) SA V SA V L ( | ) R ( | ) P V V P V V L R ( ) ( ) SA V SA V • Surface area: ( ) 2 ( ) SA V V V V V V V width depth width height depth height • Cost of a split (N L , N R give polygon count): ( , , , ) ( ( | ) ( | ) ) Cost V N V N C C P V V N P V V N split L L R R traversal intersecti on L L R R Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • How can SAH be used for 4D data? – “Surface area” of a “ voxel ” is now a volume – Straightforward: ( ) 2 ( SA V V V V V V V width height depth width height duration ) V V V V V V width depth duration height depth duration – This assumes rays to be distributed evenly in 4D- space – However, we only display one point in time, which does not fulfill this assumption Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Rays have constant time coordinate, resulting in ( ) 2 ( ) SA V V V V V V V V V V width height duration width depth duration height depth duration – Duration of 1 3D case – Only shaded areas (and opposite area) included Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Data structure • Kd-tree construction is expensive • But: whole scene known – No animations • Possible future extension ideas: – Animations with small geometry influence • Water waves – Transformed objects • Transform local kd-tree of object – Real-time construction for complex animations Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Content • Introduction • CityGML • Data structure • Rendering • Shadows • Ray tracing • Conclusion and prospects • Demo Visualization of large-scale 3D city models with detailed shadows Matthias Wagner computer graphics & visualization
Recommend
More recommend