Documente Academic
Documente Profesional
Documente Cultură
Outline
Biography 3D Content Applications 3D Content Categories 3D Geometry 3D Samples 3D UDTs & Functions System Architecture 3D Queries Demo GPGPU Acceleration Web 2.0 Integration Performance Challenges Further Development Summary Q & A Session
Biography
Tim Child 35 years experience of software development Formerly
VP Oracle Corporation VP BEA Systems Inc. VP Informix Leader at Autodesk, Navteq, Intuit,
30 + years experience in 3D, CAD, GIS and DBMS Built >10 Spatial DBMS Applications
3D CMS Issues
Ad Hoc File/SCM based Large number for file formats Files dispersed across the users network Hard to Sync content between files Poor Web 2.0 Integration Need of Real-Time Display
3D Content Applications
Augmented/Virtual Reality Medical 10x growth in 5yr - Baptist Hospital AEC / BIM Arup predicts 70% growth in BIM data/yr GIS / Earth Sciences /Environmental Sciences CAD / CAM
Games / 3D Video
Samples
Measurements
Location X,Y,Z Time t Channels
R,G,B Intensity levels
Representing 3D Geometry
Point
Line Mesh
Polygon
Triangle
Representing 3D Samples
Pixel/Voxel
Quantized Intensity I (x,y,z,t)
Languages
PGSQL C (UDF) Java Others,
Types
Complex types and Arrays Used Defined Types (UDT) Examples include
XML, JSON, PostGIS
Indices
BTree RTree Inverted Index GIST 1 Dimensional Multi Dimensional Text searches Roll your own
System Overview
DCC Tools (COLLADA) PlugIn WebDav File Storage Existing CMS/SCM Web Browser View (WebGL) HTTP Server DBMS Server
3D MashUp Service
Web Pages
3D Analytics Service
Authentication Service
File Storage
File Storage
LDAP
Active Directory
System Architecture
Recap
Native SQL representation of 3D objects Supports
Vector Graphics Raster Graphics
3D Content Aware
Vector math 4 x4 Homogenous coordinate transformations Polygon to Polygon Intersections
Image processing
IMPORTANT 3D QUERIES
DBMS Goal:
Provide sufficient data to rapidly render the scene with acceptable fidelity
Camera View
Simplify Camera Field of View to a Cone
Spatial Indexing
Mesh Size
0 - 1023
Queries
PostgreSQL Server
LOD Processing
On loading a Mesh Compute and Store Reduced LOD Representations
Triangle Decimation
Edge Collapsing
LOD Queries
Document Table
Recap
Camera SQL Queries
Selects only whats visible
LOD processing
Optimizes speed versus size for large meshes
PostgreSQL
UDTs and UDF encapsulate functionality in server Rules System hides implementation complexity
Demo
GPGPU ACCELERATION
GPGPU Goals
OpenCL a PostgreSQL Procedural Language
OpenCL Kernels execute as SQL UDFs
Sorting
Used GPGPU based sorts in SQL queries
Rich UI
HTML 5
2D Canvas WebGL Drag & Drop .
Others?
Silverlight for IE9
Programmable
REST APIs Supports
Browsers & other Web 2.0 Apps
Logging Service
Log Queries
DBMS
Analytics Service
3D MashUp Service
MashUp Meta Data URI Look-Up Content Filter Transform Clip Merge URI Request
Web Site A
HTTP Request / Response HTTP Request / Response Web Site B
Browser
URI Request
3D MashUp Engine Acts as Proxy between Browser and Web Sites Filtering, Transforming, Clipping and Merging Content Responses
CONTENT MANAGEMENT
CMS Goals
Track Revisions & Changes
Compare documents Publish Documents Annotation Metadata Queries
Content Versioning
All Database Rows include Version ID Versioning at the File, Section, and Record Levels Rev 0 Rev 1 Rev 2 Rev 3 Rev 4
Rev 1.0
Rev 1.1
Contents Diff
Objects in the database for the 3D content are signed Cryptographically Revision N Diff SHA1 Diff SHA1 Revision M
SHA1
SHA1
PERFORMANCE
Performance Challenges
Visual Scenes
20K 5M Polygons
Picking Operations
Using a Cylinder to pick from a view
Editing Operations
Updating Geometry
Summary
Why a 3D in a Database?
Shared Multi-user Scalable Reliable Extensible Secure and well define Security Model Rich Tools Set
Q&A