H3D API  2.4.1
Classes | Public Types | Public Member Functions | List of all members
H3D::H3DWindowNode::RenderMode Class Reference

The mode for rendering specified as a string. More...

#include <H3D/H3DWindowNode.h>

Inheritance diagram for H3D::H3DWindowNode::RenderMode:
Inheritance graph

Classes

class  InvalidRenderMode
 Thrown when the value of RenderMode is an invalid mode. More...
 

Public Types

enum  Mode {
  MONO , QUAD_BUFFERED_STEREO , HORIZONTAL_SPLIT , VERTICAL_SPLIT ,
  HORIZONTAL_INTERLACED , VERTICAL_INTERLACED , CHECKER_INTERLACED , VERTICAL_INTERLACED_GREEN_SHIFT ,
  RED_BLUE_STEREO , RED_GREEN_STEREO , RED_CYAN_STEREO , VERTICAL_SPLIT_KEEP_RATIO ,
  HORIZONTAL_SPLIT_KEEP_RATIO , HDMI_FRAME_PACKED_720P , HDMI_FRAME_PACKED_1080P , NVIDIA_3DVISION ,
  VERTICAL_SPLIT_KEEP_ASPECT_ONE_PASS , OCULUS_RIFT
}
 The different render modes supported. More...
 
- Public Types inherited from H3D::SField< string >
typedef string value_type
 The type of the value member.
 

Public Member Functions

bool isStereoMode ()
 Returns true if the current render mode is a stereo mode.
 
bool isSinglePass ()
 Returns true if stereo rendering only need one pass.
 
RenderMode::Mode getRenderMode ()
 Get the current RenderMode string as an Mode enum. More...
 
void updateRebuildStencilMaskFlag ()
 Function to update rebuild_stencil_mask when necessary.
 
- Public Member Functions inherited from H3D::SFString
void addValidValue (const string &s)
 Add a valid value for the string. More...
 
template<class InputIterator >
void addValidValues (InputIterator begin, InputIterator end)
 Add valid values for the string. More...
 
bool isValidValue (const string &s)
 Returns true if the given string is one of the specified valid values for the field.
 
bool hasValidValues ()
 Returns true if any valid values have been specified for the field.
 
const set< string > & getValidValues ()
 Returns the valid values for the field.
 
void clearValidValues ()
 Clears the valid values for the field.
 
- Public Member Functions inherited from H3D::SField< string >
 SField ()
 Constructor.
 
 SField (const string &_value)
 Constructor.
 
virtual int setValueFromVoidPtr (const void *data, unsigned int len, int id=0)
 Set the value of the field given a pointer to where the value of the field is. More...
 
virtual int getValueAsVoidPtr (void *data, unsigned int len, int id=0)
 Get the value of the data copied into a memory buffer. More...
 
virtual unsigned int valueTypeSize ()
 Returns the size in bytes of the value type the sfield encapsulates.
 
virtual void setValue (const string &v, int id=0)
 Set the value of the field.
 
virtual const string & getValue (int id=0)
 Get the value of the field.
 
virtual void setValueFromString (const string &s)
 Set the value of the field given a string. More...
 
virtual string getValueAsString (const string &=" ")
 Get the value of the field as a string.
 
virtual string getTypeName ()
 Returns a string name for this field type e.g. SFInt32.
 
- Public Member Functions inherited from H3D::SFieldClass
virtual ~SFieldClass ()
 Virtual destructor.
 
virtual int setValueFromVoidPtr (void *data, unsigned int size, int id=0)
 

Additional Inherited Members

- Static Public Member Functions inherited from H3D::SField< string >
static string classTypeName ()
 Returns a string name for this field type e.g. SFInt32.
 
- Protected Member Functions inherited from H3D::SField< string >
virtual void update ()
 Make the field up to date given that an event has occured.
 
- Protected Member Functions inherited from H3D::TypedField< BaseField, RequiredArgTypes, OptionalArgTypes >
void checkFieldType (Field *f, int index)
 Function for checking that a field is of a correct type given type specification according to the TypedField template arguments. More...
 
void checkTemplateArguments ()
 Function for checking that a field given TypedField type specification is valid. More...
 
- Protected Attributes inherited from H3D::SField< string >
string value
 The encapsulated value.
 

Detailed Description

The mode for rendering specified as a string.

Member Enumeration Documentation

◆ Mode

The different render modes supported.

Enumerator
MONO 

Normal rendering.

QUAD_BUFFERED_STEREO 

Quad buffered stereo rendering.

Needs a quad buffered enabled graphics card

HORIZONTAL_SPLIT 

Stereo mode where the left eye is rendered as the top half of the screen and the right eye as the bottom half of the screen.

VERTICAL_SPLIT 

Stereo mode where the left eye is rendered as the left half of the screen and the right eye as the right half of the screen.

HORIZONTAL_INTERLACED 

Stereo mode where every second horizontal line is rendered for the left eye and every other line for the right eye.

VERTICAL_INTERLACED 

Stereo mode where every second vertical line is rendered for the left eye and every other line for the right eye.

CHECKER_INTERLACED 

Stereo mode where "white" and "black" in a checker pattern are rendered for the left and right eye, respectively.

VERTICAL_INTERLACED_GREEN_SHIFT 

Stereo mode where every second vertical line is rendered for the left eye and every other line for the right eye, but with the green pixel shifted one pixel to the right.

Used with for example the Sharp auto-stereoscopic displays.

RED_BLUE_STEREO 

Stereo mode where the left eye is rendered in red and the right eye in blue.


RED_GREEN_STEREO 

Stereo mode where the left eye is rendered in red and the right eye in green.


RED_CYAN_STEREO 

Stereo mode where the left eye is rendered in red and the right eye in cyan.


VERTICAL_SPLIT_KEEP_RATIO 

Stereo mode where the left eye is rendered as the left half of the screen and the right eye as the right half of the screen.

The aspect ratio is preserved in this mode, so that it can be used when e.g. extending the desktop in order for rendering each the left eye for one projector and the right for another.

HORIZONTAL_SPLIT_KEEP_RATIO 

Stereo mode where the left eye is rendered as the top half of the screen and the right eye as the bottom half of the screen.

The aspect ratio is preserved in this mode, so that it can be used when e.g. extending the desktop in order for rendering each the left eye for one projector and the right for another.

HDMI_FRAME_PACKED_720P 

HDMI 1.4 frame packed format.

Basically horizontal split with 30 lines of black between each image.

HDMI_FRAME_PACKED_1080P 

HDMI 1.4 frame packed format.

Basically horizontal split with 45 lines of black between each image.

NVIDIA_3DVISION 

NVidia 3DVision format when not using quad-buffered stereo.

Will copy OpenGL buffer and display with DirectX. Executable must be named to one of the NVidia sanctioned 3D programs in order to work, e.g. googleearth.exe.

VERTICAL_SPLIT_KEEP_ASPECT_ONE_PASS 

It is almost the same as the VERTICAL_SPLIT_KEEP_RATIO model, left half of the screen for left eye and right half of the screen will go for right eye.

However this mode will only render once in one frame, and send in multiple viewport for both left and right eye. This render mode will requires that all object need to be rendered in the scene to shift its original geometry to both left and right to provide geometry for both eyes.

OCULUS_RIFT 

Stereo mode for the Oculus Rift HMD.

Member Function Documentation

◆ getRenderMode()

H3DWindowNode::RenderMode::Mode H3DWindowNode::RenderMode::getRenderMode ( )

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