gramods
Public Member Functions | List of all members
gramods::gmGraphics::MultiscopicMultiplexer Class Referenceabstract

The multiscopic multiplexing is the process of rendering images for the left and the right (or more) eyes in a format that can be physically or optically separated at a later stage so that these images are visible only to the correct eye. More...

#include <MultiscopicMultiplexer.hh>

Inheritance diagram for gramods::gmGraphics::MultiscopicMultiplexer:
Inheritance graph
[legend]
Collaboration diagram for gramods::gmGraphics::MultiscopicMultiplexer:
Collaboration graph
[legend]

Public Member Functions

virtual size_t getEyeCount ()=0
 Returns the number of eyes that should be rendered for the multiplexer. More...
 
virtual void prepare ()=0
 Prepares the multiplexer for rendering to the two eyes. More...
 
virtual void setupRendering (size_t eye)=0
 Sets up rendering for one eye at a time. More...
 
virtual void finalize ()=0
 Finalizes the multiplexing. More...
 
virtual std::string getDefaultKey () override
 Returns the default key, in Configuration, for the Object. More...
 
- Public Member Functions inherited from gramods::gmCore::Object
 Object ()
 Initializes internal data. More...
 
virtual ~Object ()
 Cleaning up internal data. More...
 
virtual void initialize ()
 Called to initialize the Object. More...
 
virtual void accept (Visitor *visitor)
 Calls the visitors apply method with this as argument. More...
 
virtual void traverse (Visitor *visitor)
 Calls the child Object's accept method, if such exist. More...
 
bool isInitialized ()
 Returns true if the Object is initialized. More...
 

Detailed Description

The multiscopic multiplexing is the process of rendering images for the left and the right (or more) eyes in a format that can be physically or optically separated at a later stage so that these images are visible only to the correct eye.

Examples are sequential frame multiplex, split screen or pixel interlaced multiplexing, and anaglyphic color multiplexing.

A MultiscopicView will for each frame call, in order,

  1. prepare()
  2. N = getEyeCount()
  3. setupRendering(0)
  4. ...
  5. setupRendering(N-1)
  6. finalize()

Member Function Documentation

◆ finalize()

virtual void gramods::gmGraphics::MultiscopicMultiplexer::finalize ( )
pure virtual

◆ getDefaultKey()

virtual std::string gramods::gmGraphics::MultiscopicMultiplexer::getDefaultKey ( )
inlineoverridevirtual

Returns the default key, in Configuration, for the Object.

Reimplemented from gramods::gmCore::Object.

◆ getEyeCount()

virtual size_t gramods::gmGraphics::MultiscopicMultiplexer::getEyeCount ( )
pure virtual

Returns the number of eyes that should be rendered for the multiplexer.

Most multiplexers are stereoscopic and will therefore return two (2).

Implemented in gramods::gmGraphics::SideBySideMultiplexer, gramods::gmGraphics::QuadBufferMultiplexer, gramods::gmGraphics::LinearAnaglyphsMultiplexer, and gramods::gmGraphics::InterlaceMultiplexer.

◆ prepare()

virtual void gramods::gmGraphics::MultiscopicMultiplexer::prepare ( )
pure virtual

◆ setupRendering()

virtual void gramods::gmGraphics::MultiscopicMultiplexer::setupRendering ( size_t  eye)
pure virtual

The documentation for this class was generated from the following file: