oceanyd project
Download
Skip this Video
Download Presentation
Oceanyd Project

Loading in 2 Seconds...

play fullscreen
1 / 35

Oceanyd Project - PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on

Oceanyd Project. Under-water visualisation. Introduction. Project Goals: Import topographic data (sonar) Objects loading (fauna, flora…) Path Edition Texturing & FX Portability (Win, Mac, Linux). Plan. Project Base: 3DTerragen A previous terrain visualization project R.O.A.M based.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Oceanyd Project' - teigra


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
oceanyd project

Oceanyd Project

Under-water visualisation

introduction
Introduction
  • Project Goals:
    • Import topographic data (sonar)
    • Objects loading (fauna, flora…)
    • Path Edition
    • Texturing & FX
    • Portability (Win, Mac, Linux)
slide3
Plan
  • Project Base:
    • 3DTerragen
    • A previous terrain visualization project
    • R.O.A.M based
3dterragen oceanyd
3DTerragen & Oceanyd
  • Tools
    • IDE :
      • Visual C++ Express 2005
      • XCode
    • API & SDK :
      • wxWidgets
      • GLEW
      • OpenGL
    • Langage :
      • C++
3dterragen1
3DTerragen
  • Visualisation Algorithm:
    • « Real time Optimally Adaptating Meshes » (Duchaineau)
      • Patches meshing
      • Adaptative Tessellation
        • « Split and merge » algorithm
        • Cutting criteria
      • Recursive rendering
3dterragen2
3DTerragen
  • Limits
    • Unoptimized rendering loop
    • Culling 2,5D
    • Path editor to simple
    • Memory usage
    • Reduced portability
slide8
Plan
  • Additionnal developments :
    • XYZ file loading
      • Sonar RAW data
projet oceanyd
Projet Oceanyd
  • XYZ file loading :
    • Sonar RAW data
    • Depth is inversed
    • Data parasiting
      • Filtering is needed
    • Possible support of XYZB files
      • Biocenose additional data
filtrage
Filtrage
  • Modified Top Hat Filtering :
slide11
Plan
  • Additionnal developments :
    • XYZ file loading
    • Rendering engine optimizations
oceanyd project1
Oceanyd Project
  • Rendering engine optimization :
    • 3D Frustum culling
    • Additionnal tessellation criterias
    • Vertex Buffers
    • Elements ordering
oceanyd project2
Oceanyd Project
  • 3D Frustum culling :
oceanyd project3
Oceanyd Project
  • 3D Frustum culling :
    • OpenGL frustum retrieval
      • M = View * Proj
      • Plane normalization
    • Tests on half-spaces
      • Point
      • Box
      • Sphere
oceanyd project4
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
projet oceanyd1
Projet Oceanyd
  • Vertex Buffer
    • Batching (minimise the API calls)
      • Interlaced
      • Indexed
    • Array :
      • Uses system RAM
    • Object :
      • Uses VRAM (+ AGP/PCI-e)
oceanyd project5
Oceanyd Project
  • Elements ordering
    • 3 types of objets (fauna, flora, others…)
      • Fauna and others are independents
      • Flora are world dependents (patch dependency)
        • Optimized Culling
slide18
Plan
  • Addtionnal developments :
    • XYZ file loading
    • Rendering engine optimizations
    • New path editor
oceanyd project6
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
oceanyd project7
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
slide22
Plan
  • Additionnal developments
    • XYZ file loading
    • Rendering engine optimizations
    • New path editor
    • Better visual quality
oceanyd project9
Oceanyd Project
  • Better visual rendering
    • Texturing
      • UV Planar Mapping
        • S and T parametrisation
        • Number of tiles / terrain size
      • Animation
      • Alpha masking
    • Water plane
    • Skybox
oceanyd project10
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)
slide25
Plan
  • Additionnal developments :
    • XYZ file loading
    • Rendering engine optimizations
    • New path editor
    • Better visual quality
    • Multi-files support
oceanyd project11
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
oceanyd project12
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
slide28
Plan
  • Développements effectués :
    • XYZ file loading
    • Rendering engine optimizations
    • New path editor
    • Better visual quality
    • Multi-files support
    • Portability
oceanyd project13
Oceanyd Project
  • Portability
    • wxWidgets, OpenGL
    • Compilers behaviors
    • Word representations
      • Little / Big Endian
      • Byte swapping
    • Much additionnal programming workload
oceanyd project14
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).
oceanyd project15
Oceanyd Project
  • Results
    • More than 2 times faster
    • Portable!
    • Better object code
      • Facilitation of further implementations
      • 24 classes
    • Open to receive new files formats
oceanyd project16
Oceanyd Project
  • Futurs developments
    • Fog on objects
    • LOD on objects
    • Additionnal FXs (God Light,…)
    • Model animation (key frames)
    • A.I
    • Scene script editor
oceanyd project17
Oceanyd Project
  • Ressources
    • ROAM: http://www.llnl.gov/graphics/ROAM
    • http://www2.ravensoft.com/users/ggribb/plane%20extraction.pdf
ad