Download presentation
Presentation is loading. Please wait.
Published byJosef Varty Modified over 10 years ago
1
Oceanyd Project Under-water visualisation
2
Introduction Project Goals: Import topographic data (sonar) Objects loading (fauna, flora…) Path Edition Texturing & FX Portability (Win, Mac, Linux)
3
Plan Project Base: 3DTerragen A previous terrain visualization project R.O.A.M based
4
3DTerragen & Oceanyd Tools IDE : Visual C++ Express 2005 XCode API & SDK : wxWidgets GLEW OpenGL Langage : C++
5
3DTerragen
6
Visualisation Algorithm: « Real time Optimally Adaptating Meshes » (Duchaineau) Patches meshing Adaptative Tessellation « Split and merge » algorithm Cutting criteria Recursive rendering
7
3DTerragen Limits Unoptimized rendering loop Culling 2,5D Path editor to simple Memory usage Reduced portability
8
Plan Additionnal developments : XYZ file loading Sonar RAW data
9
Projet Oceanyd XYZ file loading : Sonar RAW data Depth is inversed Data parasiting Filtering is needed Possible support of XYZB files Biocenose additional data
10
Filtrage Modified Top Hat Filtering :
11
Plan Additionnal developments : XYZ file loading Rendering engine optimizations
12
Oceanyd Project Rendering engine optimization : 3D Frustum culling Additionnal tessellation criterias Vertex Buffers Elements ordering
13
Oceanyd Project 3D Frustum culling :
14
Oceanyd Project 3D Frustum culling : OpenGL frustum retrieval M = View * Proj Plane normalization Tests on half-spaces Point Box Sphere
15
Oceanyd Project Additionnal tessellation criterias : Available thank to the culling Resolution steps Of Mipmapping inspiration Better triangles repartitions Optimisation for hardware Z-Buffer Quick sort on distances Front to back
16
Projet Oceanyd Vertex Buffer Batching (minimise the API calls) Interlaced Indexed Array : Uses system RAM Object : Uses VRAM (+ AGP/PCI-e)
17
Oceanyd Project Elements ordering 3 types of objets (fauna, flora, others…) Fauna and others are independents Flora are world dependents (patch dependency) Optimized Culling
18
Plan Addtionnal developments : XYZ file loading Rendering engine optimizations New path editor
19
Oceanyd Project Paths Use Catmull-rom splines Connect the control points q(t) = 0.5 * [ t^3 t^2 t 1 ] * [ -1 3 -3 1 ] * [ p0 ] [ 2 -5 4 -1 ] [ p1 ] [ -1 0 1 0 ] [ p2 ] [ 0 2 0 0 ] [ p3 ] Must detect landscape collisions
20
Oceanyd Project Path Checkpoint class : Add properties for each point (like time pause) Computed in 4 steps : Estimate the segment length Insert additionnal points Compute the new arc Elevate points if landscape collision
21
Oceanyd Project Path
22
Plan Additionnal developments XYZ file loading Rendering engine optimizations New path editor Better visual quality
23
Oceanyd Project Better visual rendering Texturing UV Planar Mapping S and T parametrisation Number of tiles / terrain size Animation Alpha masking Water plane Skybox
24
Oceanyd Project Better visual quality FX Caustics using (multitexturing) Submarine picture stretching Animate the projection matrix Volumetric fog Immersion Underwater flow movement Cinetic (simulates a submarine scooter)
25
Plan Additionnal developments : XYZ file loading Rendering engine optimizations New path editor Better visual quality Multi-files support
26
Oceanyd Project Multi-files support Bitmaps PGM, PPM BMP (grey, 8/24 bits + RLE) TGA (grey, 8/24/32 bits + RLE) Texture class Automatic format detection OpenGL texture loading
27
Oceanyd Project Mutli-files support 3D Loading 3DS triangulated files Instancing Materials, textures and multiples objets VBA & VBO display Object3D class Model loading Instancing Compute bounding volumes
28
Plan Développements effectués : XYZ file loading Rendering engine optimizations New path editor Better visual quality Multi-files support Portability
29
Oceanyd Project Portability wxWidgets, OpenGL Compilers behaviors Word representations Little / Big Endian Byte swapping Much additionnal programming workload
30
Results
32
Oceanyd Project Benchmark Athlon 64 3200+ (2Ghz), 1Go RAM 400Mhz, Geforce6600GT 128 MO PCI Express 16X, Windows XP Pro SP2 3DTerragen VS Oceanyd : 100k hi-res textured triangles and FXs (Oceanyd disadvantaged).
33
Oceanyd Project Results More than 2 times faster Portable! Better object code Facilitation of further implementations 24 classes Open to receive new files formats
34
Oceanyd Project Futurs developments –Fog on objects –LOD on objects –Additionnal FXs (God Light,…) –Model animation (key frames) –A.I –Scene script editor
35
Oceanyd Project Ressources ROAM: http://www.llnl.gov/graphics/ROAMhttp://www.llnl.gov/graphics/ROAM http://www2.ravensoft.com/users/ggribb/plane %20extraction.pdf http://www2.ravensoft.com/users/ggribb/plane %20extraction.pdf
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.