H3D API
2.4.1
|
The mode for rendering specified as a string. More...
#include <H3D/H3DWindowNode.h>
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... | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
virtual | ~SFieldClass () |
Virtual destructor. | |
virtual int | setValueFromVoidPtr (void *data, unsigned int size, int id=0) |
Additional Inherited Members | |
![]() | |
static string | classTypeName () |
Returns a string name for this field type e.g. SFInt32. | |
![]() | |
virtual void | update () |
Make the field up to date given that an event has occured. | |
![]() | |
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... | |
![]() | |
string | value |
The encapsulated value. | |
The mode for rendering specified as a string.
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. |
H3DWindowNode::RenderMode::Mode H3DWindowNode::RenderMode::getRenderMode | ( | ) |
Get the current RenderMode string as an Mode enum.
InvalidRenderMode | if the string is an invalid RenderMode. |
References CHECKER_INTERLACED, H3D_FULL_LOCATION, HDMI_FRAME_PACKED_1080P, HDMI_FRAME_PACKED_720P, HORIZONTAL_INTERLACED, HORIZONTAL_SPLIT, HORIZONTAL_SPLIT_KEEP_RATIO, MONO, NVIDIA_3DVISION, OCULUS_RIFT, QUAD_BUFFERED_STEREO, RED_BLUE_STEREO, RED_CYAN_STEREO, RED_GREEN_STEREO, H3D::SField< string >::value, VERTICAL_INTERLACED, VERTICAL_INTERLACED_GREEN_SHIFT, VERTICAL_SPLIT, VERTICAL_SPLIT_KEEP_ASPECT_ONE_PASS, and VERTICAL_SPLIT_KEEP_RATIO.