The Vish Visualization Shell 0.3
Vish
Public Member Functions | List of all members
Wizt::HybridScene Struct Reference

An internal class to categorize render objects and iterate over them according to their properties. More...

#include <ocean/GLvish/HybridScene.hpp>

Public Member Functions

void extractRenderableObjects (const ObjectSelection &RenderableObjects, VGLRenderContext &Context, const RenderCategoryConstraint &Constraint)
 Rendering Strategy for a hybrid scene:
 

Detailed Description

An internal class to categorize render objects and iterate over them according to their properties.

Background information for special handling for transparent objects:

  1. http://lists.apple.com/archives/mac-opengl/2004/Jul/msg00073.html
  2. http://www.opengl.org/resources/faq/technical/transparency.htm
  3. http://www.cs.unc.edu/~naga/vissort-TR.pdf

Member Function Documentation

◆ extractRenderableObjects()

void Wizt::HybridScene::extractRenderableObjects ( const ObjectSelection RenderableObjects,
VGLRenderContext Context,
const RenderCategoryConstraint Constraint 
)

Rendering Strategy for a hybrid scene:

  Backdrop Objects
  Camera Objects that act on motion, setting multiview camera parameters
  Lens Objects that act on projection parameters, setting projection for each view (Lens, Bokeh)
  Navigation Objects (?, historic)

  MultiView Background Objects
  MultiView Opaque Objects

  SingleView Background Objects  | ...
  SingleView Opaque Objects      | ...
  SingleView Transparent Objects | ...
  SingleView Sliceable Objects   | ...

  MultiView Transparent Objects
  MultiView Sliceable Objects

  Overlay Objects

References Wizt::CAMERA_LENS_OBJECT, Wizt::CAMERA_OBJECT, Wizt::CELESTIAL_OBJECT, Wizt::DEFAULT_OBJECT, Wizt::NAVIGATION_OBJECT, Wizt::OVERLAY_OBJECT, Wizt::RENDER_FIRST, Wizt::RENDER_LAST, Wizt::SLICEABLE_OBJECT, and Wizt::TRANSPARENT_OBJECT.