OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
OgreCommon.h File Reference
#include "OgrePlatformInformation.h"
#include <xmmintrin.h>
#include <emmintrin.h>
#include "OgreHeaderPrefix.h"
#include "Hash/MurmurHash3.h"
#include "OgreHeaderSuffix.h"

Classes

struct  Ogre::Box
 Structure used to define a box in a 3-D integer space. More...
 
class  Ogre::HashedVector< T >
 A hashed vector. More...
 
struct  Ogre::LightClosest
 Used as the light list, sorted. More...
 
struct  Ogre::LightListInfo
 Holds all lights in SoA after being culled over all frustums. More...
 
struct  Ogre::RenderWindowDescription
 Render window creation parameters. More...
 
struct  Ogre::StencilParams
 
struct  Ogre::StencilStateOp
 
struct  Ogre::TRect< T >
 

Namespaces

namespace  Ogre
 

Typedefs

typedef map< String, String >::type Ogre::AliasTextureNamePairList
 Alias / Texture name pair (first = alias, second = texture name)
 
typedef map< String, String >::type Ogre::BinaryOptionList
 
typedef TRect< floatOgre::FloatRect
 Structure used to define a rectangle in a 2-D floating point space.
 
typedef FastArray< Light * > Ogre::LightArray
 
typedef FastArray< LightClosestOgre::LightClosestArray
 
typedef vector< LightClosest >::type Ogre::LightClosestVec
 
typedef HashedVector< LightClosestOgre::LightList
 
typedef map< String, String >::type Ogre::NameValuePairList
 Name / value parameter pair (first = name, second = value)
 
typedef TRect< RealOgre::RealRect
 Structure used to define a rectangle in a 2-D floating point space, subject to double / single floating point settings.
 
typedef TRect< longOgre::Rect
 Structure used to define a rectangle in a 2-D integer space.
 
typedef vector< RenderWindowDescription >::type Ogre::RenderWindowDescriptionList
 Render window creation parameters container.
 
typedef vector< RenderWindow * >::type Ogre::RenderWindowList
 Render window container.
 
typedef _StringBase Ogre::String
 
typedef int Ogre::TrackVertexColourType
 An enumeration describing which material properties should track the vertex colours.
 
typedef map< String, bool >::type Ogre::UnaryOptionList
 

Enumerations

enum  Ogre::ClipResult { Ogre::CLIPPED_NONE = 0 , Ogre::CLIPPED_SOME = 1 , Ogre::CLIPPED_ALL = 2 }
 Generic result of clipping. More...
 
enum  Ogre::ColourBufferType { Ogre::CBT_BACK = 0x0 , Ogre::CBT_BACK_LEFT , Ogre::CBT_BACK_RIGHT }
 Defines the colour buffer types. More...
 
enum  Ogre::CompareFunction {
  Ogre::CMPF_ALWAYS_FAIL , Ogre::CMPF_ALWAYS_PASS , Ogre::CMPF_LESS , Ogre::CMPF_LESS_EQUAL ,
  Ogre::CMPF_EQUAL , Ogre::CMPF_NOT_EQUAL , Ogre::CMPF_GREATER_EQUAL , Ogre::CMPF_GREATER ,
  Ogre::NUM_COMPARE_FUNCTIONS
}
 Comparison functions used for the depth/stencil buffer operations and others. More...
 
enum  Ogre::CullingMode { Ogre::CULL_NONE = 1 , Ogre::CULL_CLOCKWISE = 2 , Ogre::CULL_ANTICLOCKWISE = 3 }
 Hardware culling modes based on vertex winding. More...
 
enum  Ogre::FilterOptions { Ogre::FO_NONE , Ogre::FO_POINT , Ogre::FO_LINEAR , Ogre::FO_ANISOTROPIC }
 Filtering options for textures / mipmaps. More...
 
enum  Ogre::FilterType { Ogre::FT_MIN , Ogre::FT_MAG , Ogre::FT_MIP }
 
enum  Ogre::FogMode { Ogre::FOG_NONE , Ogre::FOG_EXP , Ogre::FOG_EXP2 , Ogre::FOG_LINEAR }
 Fog modes. More...
 
enum  Ogre::FrameBufferType { Ogre::FBT_COLOUR = 0x1 , Ogre::FBT_DEPTH = 0x2 , Ogre::FBT_STENCIL = 0x4 }
 Defines the frame buffer types. More...
 
enum  Ogre::InstanceManagerFlags {
  Ogre::IM_USE16BIT = 0x0001 , Ogre::IM_VTFBESTFIT = 0x0002 , Ogre::IM_VTFBONEMATRIXLOOKUP = 0x0004 , Ogre::IM_USEBONEDUALQUATERNIONS = 0x0008 ,
  Ogre::IM_USEONEWEIGHT = 0x0010 , Ogre::IM_FORCEONEWEIGHT = 0x0020 , Ogre::IM_USEALL = IM_USE16BIT|IM_VTFBESTFIT|IM_USEONEWEIGHT
}
 Flags for the Instance Manager when calculating ideal number of instances per batch. More...
 
enum  Ogre::PolygonMode { Ogre::PM_POINTS = 1 , Ogre::PM_WIREFRAME = 2 , Ogre::PM_SOLID = 3 }
 The polygon mode to use when rasterising. More...
 
enum  Ogre::PrePassMode { Ogre::PrePassNone , Ogre::PrePassCreate , Ogre::PrePassUse }
 
enum  Ogre::SceneMemoryMgrTypes { Ogre::SCENE_DYNAMIC = 0 , Ogre::SCENE_STATIC , Ogre::NUM_SCENE_MEMORY_MANAGER_TYPES }
 The types of NodeMemoryManager & ObjectMemoryManagers. More...
 
enum  Ogre::ShadeOptions { Ogre::SO_FLAT , Ogre::SO_GOURAUD , Ogre::SO_PHONG }
 Light shading modes. More...
 
enum  Ogre::ShaderType {
  Ogre::VertexShader , Ogre::PixelShader , Ogre::GeometryShader , Ogre::HullShader ,
  Ogre::DomainShader , Ogre::NumShaderTypes
}
 
enum  Ogre::SortMode { Ogre::SM_DIRECTION , Ogre::SM_DISTANCE }
 Sort mode for billboard-set and particle-system. More...
 
enum  Ogre::StencilOperation {
  Ogre::SOP_KEEP , Ogre::SOP_ZERO , Ogre::SOP_REPLACE , Ogre::SOP_INCREMENT ,
  Ogre::SOP_DECREMENT , Ogre::SOP_INCREMENT_WRAP , Ogre::SOP_DECREMENT_WRAP , Ogre::SOP_INVERT
}
 Enum describing the various actions which can be taken on the stencil buffer. More...
 
enum  Ogre::StereoModeType { Ogre::SMT_NONE = 0x0 , Ogre::SMT_FRAME_SEQUENTIAL }
 Defines the stereo mode types. More...
 
enum  Ogre::TextureFilterOptions { Ogre::TFO_NONE , Ogre::TFO_BILINEAR , Ogre::TFO_TRILINEAR , Ogre::TFO_ANISOTROPIC }
 High-level filtering options providing shortcuts to settings the minification, magnification and mip filters. More...
 
enum  Ogre::TrackVertexColourEnum {
  Ogre::TVC_NONE = 0x0 , Ogre::TVC_AMBIENT = 0x1 , Ogre::TVC_DIFFUSE = 0x2 , Ogre::TVC_SPECULAR = 0x4 ,
  Ogre::TVC_EMISSIVE = 0x8
}
 
enum  Ogre::VertexPass { Ogre::VpNormal , Ogre::VpShadow , Ogre::NumVertexPass }
 
enum  Ogre::WaveformType {
  Ogre::WFT_SINE , Ogre::WFT_TRIANGLE , Ogre::WFT_SQUARE , Ogre::WFT_SAWTOOTH ,
  Ogre::WFT_INVERSE_SAWTOOTH , Ogre::WFT_PWM
}
 Enumerates the wave types usable with the Ogre engine. More...
 

Functions

size_t Ogre::alignToNextMultiple (size_t offset, size_t alignment)
 Aligns the input 'offset' to the next multiple of 'alignment'.
 
template<typename T >
T::iterator Ogre::efficientVectorRemove (T &container, typename T::iterator &iterator)
 Used for efficient removal in std::vector and std::deque (like an std::list) However it assumes the order of elements in container is not important or something external to the container holds the index of an element in it (but still should be kept deterministically across machines) Basically it swaps the iterator with the last iterator, and pops back Returns the next iterator.
 
uint32 Ogre::FastHash (const char *data, int len, uint32 hashSoFar=0)
 Fast general hashing algorithm.
 
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.
 
template<typename T >
uint32 Ogre::HashCombine (uint32 hashSoFar, const T &data)
 Combine hashes with same style as boost::hash_combine.
 
double Ogre::max (const double &left, const double &right)
 
float Ogre::max (const float &left, const float &right)
 
double Ogre::min (const double &left, const double &right)
 
float Ogre::min (const float &left, const float &right)
 
template<typename T >
std::ostream & Ogre::operator<< (std::ostream &o, const TRect< T > &r)
 

Variables

const String Ogre::BLANKSTRING
 Constant blank string, useful for returning by ref where local does not exist.