# OgreCommon.h File Reference

`#include <utility>`

Go to the source code of this file.

## Namespaces

namespace | Ogre

## Typedefs

typedef int | TrackVertexColourType
| An enumeration describing which material properties should track the vertex colours.
typedef std::vector< Light * > | LightList
typedef std::map< String, bool > | UnaryOptionList
typedef std::map< String, String > | BinaryOptionList
typedef std::map< String, String > | NameValuePairList
| Name / value parameter pair (first = name, second = value).
typedef std::map< String, String > | AliasTextureNamePairList
| Alias / Texture name pair (first = alias, second = texture name).
typedef TRect< float > | FloatRect
| Structure used to define a rectangle in a 2-D floating point space.
typedef TRect< long > | Rect
| Structure used to define a rectangle in a 2-D integer space.

## Enumerations

enum | CompareFunction { CMPF_ALWAYS_FAIL, CMPF_ALWAYS_PASS, CMPF_LESS, CMPF_LESS_EQUAL, CMPF_EQUAL, CMPF_NOT_EQUAL, CMPF_GREATER_EQUAL, CMPF_GREATER }
| Comparison functions used for the depth/stencil buffer operations and others. More...
enum | TextureFilterOptions { TFO_NONE, TFO_BILINEAR, TFO_TRILINEAR, TFO_ANISOTROPIC }
| High-level filtering options providing shortcuts to settings the minification, magnification and mip filters. More...
enum | FilterType { FT_MIN, FT_MAG, FT_MIP }
enum | FilterOptions { FO_NONE, FO_POINT, FO_LINEAR, FO_ANISOTROPIC }
| Filtering options for textures / mipmaps. More...
enum | ShadeOptions { SO_FLAT, SO_GOURAUD, SO_PHONG }
| Light shading modes. More...
enum | FogMode { FOG_NONE, FOG_EXP, FOG_EXP2, FOG_LINEAR }
| Fog modes. More...
enum | CullingMode { CULL_NONE = 1, CULL_CLOCKWISE = 2, CULL_ANTICLOCKWISE = 3 }
| Hardware culling modes based on vertex winding. More...
enum | ManualCullingMode { MANUAL_CULL_NONE = 1, MANUAL_CULL_BACK = 2, MANUAL_CULL_FRONT = 3 }
| Manual culling modes based on vertex normals. More...
enum | WaveformType { WFT_SINE, WFT_TRIANGLE, WFT_SQUARE, WFT_SAWTOOTH, WFT_INVERSE_SAWTOOTH, WFT_PWM }
| Enumerates the wave types usable with the Ogre engine. More...
enum | PolygonMode { PM_POINTS = 1, PM_WIREFRAME = 2, PM_SOLID = 3 }
| The polygon mode to use when rasterising. More...
enum | ShadowTechnique { SHADOWTYPE_NONE = 0x00, SHADOWDETAILTYPE_ADDITIVE = 0x01, SHADOWDETAILTYPE_MODULATIVE = 0x02, SHADOWDETAILTYPE_STENCIL = 0x10, SHADOWDETAILTYPE_TEXTURE = 0x20, SHADOWTYPE_STENCIL_MODULATIVE = 0x12, SHADOWTYPE_STENCIL_ADDITIVE = 0x11, SHADOWTYPE_TEXTURE_MODULATIVE = 0x22, SHADOWTYPE_TEXTURE_ADDITIVE = 0x21 }
| An enumeration of broad shadow techniques. More...
enum | TrackVertexColourEnum { TVC_NONE = 0x0, TVC_AMBIENT = 0x1, TVC_DIFFUSE = 0x2, TVC_SPECULAR = 0x4, TVC_EMISSIVE = 0x8 }
enum | SortMode { SM_DIRECTION, SM_DISTANCE }
| Sort mode for billboard-set and particle-system. More...
enum | FrameBufferType { FBT_COLOUR = 0x1, FBT_DEPTH = 0x2, FBT_STENCIL = 0x4 }
| Defines the frame buffer types. More...

## Functions

int _OgreExport | findCommandLineOpts (int numargs, char **argv, UnaryOptionList &unaryOptList, BinaryOptionList &binOptList)
| Locate command-line options of the unary form '-blah' and of the binary form '-blah foo', passing back the index of the next non-option.

## Typedef Documentation

typedef std::map<String, String> Ogre::AliasTextureNamePairList

| Alias / Texture name pair (first = alias, second = texture name). Definition at line 247 of file OgreCommon.h.

typedef std::map<String, String> Ogre::BinaryOptionList

| Definition at line 241 of file OgreCommon.h.

typedef TRect<float> Ogre::FloatRect

| Structure used to define a rectangle in a 2-D floating point space. Definition at line 281 of file OgreCommon.h.

typedef std::vector<Light*> Ogre::LightList

| Definition at line 238 of file OgreCommon.h.

typedef std::map<String, String> Ogre::NameValuePairList

| Name / value parameter pair (first = name, second = value). Definition at line 244 of file OgreCommon.h.

typedef TRect< long > Ogre::Rect

| Structure used to define a rectangle in a 2-D integer space. Definition at line 285 of file OgreCommon.h.

typedef int Ogre::TrackVertexColourType

| An enumeration describing which material properties should track the vertex colours. Definition at line 212 of file OgreCommon.h.

typedef std::map<String, bool> Ogre::UnaryOptionList

| Definition at line 240 of file OgreCommon.h.

## Enumeration Type Documentation

enum Ogre::CompareFunction

Comparison functions used for the depth/stencil buffer operations and others.

Enumeration values:

  CMPF_ALWAYS_FAIL |
  CMPF_ALWAYS_PASS |
  CMPF_LESS |
  CMPF_LESS_EQUAL |
  CMPF_EQUAL |
  CMPF_NOT_EQUAL |
  CMPF_GREATER_EQUAL |
  CMPF_GREATER |

Definition at line 36 of file OgreCommon.h.

enum Ogre::CullingMode

Hardware culling modes based on vertex winding.

This setting applies to how the hardware API culls triangles it is sent.

Enumeration values:

  CULL_NONE | Hardware never culls triangles and renders everything it receives.
  CULL_CLOCKWISE | Hardware culls triangles whose vertices are listed clockwise in the view (default).
  CULL_ANTICLOCKWISE | Hardware culls triangles whose vertices are listed anticlockwise in the view.

Definition at line 107 of file OgreCommon.h.

enum Ogre::FilterOptions

Filtering options for textures / mipmaps.

Enumeration values:

  FO_NONE | No filtering, used for FILT_MIP to turn off mipmapping.
  FO_POINT | Use the closest pixel.
  FO_LINEAR | Average of a 2x2 pixel area, denotes bilinear for MIN and MAG, trilinear for MIP.
  FO_ANISOTROPIC | Similar to FO_LINEAR, but compensates for the angle of the texture plane.

Definition at line 72 of file OgreCommon.h.

enum Ogre::FilterType

Enumeration values:

  FT_MIN | The filter used when shrinking a texture.
  FT_MAG | The filter used when magnifiying a texture.
  FT_MIP | The filter used when determining the mipmap.

Definition at line 62 of file OgreCommon.h.

enum Ogre::FogMode

Fog modes.

Enumeration values:

  FOG_NONE | No fog. Duh.
  FOG_EXP | Fog density increases exponentially from the camera (fog = 1/e^(distance * density)).
  FOG_EXP2 | Fog density increases at the square of FOG_EXP, i.e. even quicker (fog = 1/e^(distance * density)^2).
  FOG_LINEAR | Fog density increases linearly between the start and end distances.

Definition at line 93 of file OgreCommon.h.

enum Ogre::FrameBufferType

Defines the frame buffer types.

Enumeration values:

  FBT_COLOUR |
  FBT_DEPTH |
  FBT_STENCIL |

Definition at line 231 of file OgreCommon.h.

enum Ogre::ManualCullingMode

Manual culling modes based on vertex normals.

This setting applies to how the software culls triangles before sending them to the hardware API. This culling mode is used by scene managers which choose to implement it - normally those which deal with large amounts of fixed world geometry which is often planar (software culling movable variable geometry is expensive).

Enumeration values:

  MANUAL_CULL_NONE | No culling so everything is sent to the hardware.
  MANUAL_CULL_BACK | Cull triangles whose normal is pointing away from the camera (default).
  MANUAL_CULL_FRONT | Cull triangles whose normal is pointing towards the camera.

Definition at line 122 of file OgreCommon.h.

enum Ogre::PolygonMode

The polygon mode to use when rasterising.

Enumeration values:

  PM_POINTS | Only points are rendered.
  PM_WIREFRAME | Wireframe models are rendered.
  PM_SOLID | Solid polygons are rendered.

Definition at line 151 of file OgreCommon.h.

enum Ogre::ShadeOptions

Light shading modes.

Enumeration values:

  SO_FLAT |
  SO_GOURAUD |
  SO_PHONG |

Definition at line 85 of file OgreCommon.h.

enum Ogre::ShadowTechnique

An enumeration of broad shadow techniques.

Enumeration values:

  SHADOWTYPE_NONE | No shadows.
  SHADOWDETAILTYPE_ADDITIVE | Mask for additive shadows (not for direct use, use SHADOWTYPE_ enum instead).
  SHADOWDETAILTYPE_MODULATIVE | Mask for modulative shadows (not for direct use, use SHADOWTYPE_ enum instead).
  SHADOWDETAILTYPE_STENCIL | Mask for stencil shadows (not for direct use, use SHADOWTYPE_ enum instead).
  SHADOWDETAILTYPE_TEXTURE | Mask for texture shadows (not for direct use, use SHADOWTYPE_ enum instead).
  SHADOWTYPE_STENCIL_MODULATIVE | Stencil shadow technique which renders all shadow volumes as a modulation after all the non-transparent areas have been rendered. This technique is considerably less fillrate intensive than the additive stencil shadow approach when there are multiple lights, but is not an accurate model.

  SHADOWTYPE_STENCIL_ADDITIVE

  Stencil shadow technique which renders each light as a separate additive pass to the scene.

  This technique can be very fillrate intensive because it requires at least 2 passes of the entire scene, more if there are multiple lights. However, it is a more accurate model than the modulative stencil approach and this is especially apparant when using coloured lights or bump mapping.

  SHADOWTYPE_TEXTURE_MODULATIVE | Texture-based shadow technique which involves a monochrome render-to-texture of the shadow caster and a projection of that texture onto the shadow receivers as a modulative pass.

  SHADOWTYPE_TEXTURE_ADDITIVE

  Texture-based shadow technique which involves a monochrome render-to-texture of the shadow caster and a projection of that texture onto the shadow receivers, built up per light as additive passes.

  This technique can be very fillrate intensive because it requires numLights + 2 passes of the entire scene. However, it is a more accurate model than the modulative approach and this is especially apparant when using coloured lights or bump mapping.

Definition at line 162 of file OgreCommon.h.

enum Ogre::SortMode

Sort mode for billboard-set and particle-system.

Enumeration values:

  SM_DIRECTION | Sort by direction of the camera.
  SM_DISTANCE | Sort by distance from the camera.

Definition at line 222 of file OgreCommon.h.

enum Ogre::TextureFilterOptions

High-level filtering options providing shortcuts to settings the minification, magnification and mip filters.

Enumeration values:

  TFO_NONE | Equal to: min=FO_POINT, mag=FO_POINT, mip=FO_NONE.
  TFO_BILINEAR | Equal to: min=FO_LINEAR, mag=FO_LINEAR, mip=FO_POINT.
  TFO_TRILINEAR | Equal to: min=FO_LINEAR, mag=FO_LINEAR, mip=FO_LINEAR.
  TFO_ANISOTROPIC | Equal to: min=FO_ANISOTROPIC, max=FO_ANISOTROPIC, mip=FO_LINEAR.

Definition at line 50 of file OgreCommon.h.

enum Ogre::TrackVertexColourEnum

Enumeration values:

  TVC_NONE |
  TVC_AMBIENT |
  TVC_DIFFUSE |
  TVC_SPECULAR |
  TVC_EMISSIVE |

Definition at line 213 of file OgreCommon.h.

enum Ogre::WaveformType

Enumerates the wave types usable with the Ogre engine.

Enumeration values:

  WFT_SINE | Standard sine wave which smoothly changes from low to high and back again.
  WFT_TRIANGLE | An angular wave with a constant increase / decrease speed with pointed peaks.
  WFT_SQUARE | Half of the time is spent at the min, half at the max with instant transition between.
  WFT_SAWTOOTH | Gradual steady increase from min to max over the period with an instant return to min at the end.
  WFT_INVERSE_SAWTOOTH | Gradual steady decrease from max to min over the period, with an instant return to max at the end.
  WFT_PWM | Pulse Width Modulation. Works like WFT_SQUARE, except the high to low transition is controlled by duty cycle. With a duty cycle of 50% (0.5) will give the same output as WFT_SQUARE.

Definition at line 133 of file OgreCommon.h.

## Function Documentation

int _OgreExport Ogre::findCommandLineOpts | ( | int | numargs,
|  | char ** | argv,
|  | UnaryOptionList & | unaryOptList,
|  | BinaryOptionList & | binOptList
| ) |

Locate command-line options of the unary form '-blah' and of the binary form '-blah foo', passing back the index of the next non-option.

Parameters:

  | numargs,argv | The standard parameters passed to the main method
  | unaryOptList | Map of unary options (ie those that do not require a parameter). Should be pre-populated with, for example '-e' in the key and false in the value. Options which are found will be set to true on return.
  | binOptList | Map of binnary options (ie those that require a parameter e.g. '-e afile.txt'). Should be pre-populated with, for example '-e' and the default setting. Options which are found will have the value updated.

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:39:13 2006