OGRE-Next  3.0.0
Object-Oriented Graphics Rendering Engine
OgreCommon.h File Reference
#include "OgrePrerequisites.h"
#include "Hash/MurmurHash3.h"
#include "OgreHeaderPrefix.h"
#include "OgreSilentMemory.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::RenderingMetrics
 
struct  Ogre::SampleDescription
 Opaque struct that holds effective FSAA (MSAA, CSAA, etc.) mode. More...
 
struct  Ogre::StencilParams
 
struct  Ogre::StencilStateOp
 
struct  Ogre::TRect< T >
 

Namespaces

 Ogre
 bswapNN may be defined as macros in <sys/endian.h> or <sys/bswap.h>
 
 Ogre::MsaaPatterns
 

Typedefs

typedef StdMap< String, String > Ogre::AliasTextureNamePairList
 Alias / Texture name pair (first = alias, second = texture name) More...
 
typedef StdMap< String, String > Ogre::BinaryOptionList
 
typedef TRect< float > Ogre::FloatRect
 Structure used to define a rectangle in a 2-D floating point space. More...
 
typedef FastArray< Light * > Ogre::LightArray
 
typedef FastArray< LightClosest > Ogre::LightClosestArray
 
typedef HashedVector< LightClosest > Ogre::LightList
 
typedef StdMap< String, String > Ogre::NameValuePairList
 Name / value parameter pair (first = name, second = value) More...
 
typedef TRect< Real > Ogre::RealRect
 Structure used to define a rectangle in a 2-D floating point space, subject to double / single floating point settings. More...
 
typedef TRect< long > Ogre::Rect
 Structure used to define a rectangle in a 2-D integer space. More...
 
typedef _StringBase Ogre::String
 
typedef int Ogre::TrackVertexColourType
 An enumeration describing which material properties should track the vertex colours. More...
 
typedef StdMap< String, bool > Ogre::UnaryOptionList
 
typedef StdVector< Window * > Ogre::WindowList
 Render window container. More...
 

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::IndexType { Ogre::IT_16BIT , Ogre::IT_32BIT }
 
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::MsaaPatterns::MsaaPatterns { Ogre::MsaaPatterns::Undefined , Ogre::MsaaPatterns::Standard , Ogre::MsaaPatterns::Center , Ogre::MsaaPatterns::CenterZero }
 
enum  Ogre::OperationType {
  Ogre::OT_POINT_LIST = 1 , Ogre::OT_LINE_LIST = 2 , Ogre::OT_LINE_STRIP = 3 , Ogre::OT_TRIANGLE_LIST = 4 ,
  Ogre::OT_TRIANGLE_STRIP = 5 , Ogre::OT_TRIANGLE_FAN = 6 , Ogre::OT_PATCH_1_CONTROL_POINT = 7 , Ogre::OT_PATCH_2_CONTROL_POINT = 8 ,
  Ogre::OT_PATCH_3_CONTROL_POINT = 9 , Ogre::OT_PATCH_4_CONTROL_POINT = 10 , Ogre::OT_PATCH_5_CONTROL_POINT = 11 , Ogre::OT_PATCH_6_CONTROL_POINT = 12 ,
  Ogre::OT_PATCH_7_CONTROL_POINT = 13 , Ogre::OT_PATCH_8_CONTROL_POINT = 14 , Ogre::OT_PATCH_9_CONTROL_POINT = 15 , Ogre::OT_PATCH_10_CONTROL_POINT = 16 ,
  Ogre::OT_PATCH_11_CONTROL_POINT = 17 , Ogre::OT_PATCH_12_CONTROL_POINT = 18 , Ogre::OT_PATCH_13_CONTROL_POINT = 19 , Ogre::OT_PATCH_14_CONTROL_POINT = 20 ,
  Ogre::OT_PATCH_15_CONTROL_POINT = 21 , Ogre::OT_PATCH_16_CONTROL_POINT = 22 , Ogre::OT_PATCH_17_CONTROL_POINT = 23 , Ogre::OT_PATCH_18_CONTROL_POINT = 24 ,
  Ogre::OT_PATCH_19_CONTROL_POINT = 25 , Ogre::OT_PATCH_20_CONTROL_POINT = 26 , Ogre::OT_PATCH_21_CONTROL_POINT = 27 , Ogre::OT_PATCH_22_CONTROL_POINT = 28 ,
  Ogre::OT_PATCH_23_CONTROL_POINT = 29 , Ogre::OT_PATCH_24_CONTROL_POINT = 30 , Ogre::OT_PATCH_25_CONTROL_POINT = 31 , Ogre::OT_PATCH_26_CONTROL_POINT = 32 ,
  Ogre::OT_PATCH_27_CONTROL_POINT = 33 , Ogre::OT_PATCH_28_CONTROL_POINT = 34 , Ogre::OT_PATCH_29_CONTROL_POINT = 35 , Ogre::OT_PATCH_30_CONTROL_POINT = 36 ,
  Ogre::OT_PATCH_31_CONTROL_POINT = 37 , Ogre::OT_PATCH_32_CONTROL_POINT = 38
}
 
enum  Ogre::OrientationMode {
  Ogre::OR_DEGREE_0 = 0 , Ogre::OR_DEGREE_90 = 1 , Ogre::OR_DEGREE_180 = 2 , Ogre::OR_DEGREE_270 = 3 ,
  Ogre::OR_PORTRAIT = OR_DEGREE_0 , Ogre::OR_LANDSCAPERIGHT = OR_DEGREE_90 , Ogre::OR_LANDSCAPELEFT = OR_DEGREE_270
}
 Specifies orientation mode. 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

template<typename T >
Ogre::alignToNextMultiple (T offset, T alignment)
 Aligns the input 'offset' to the next multiple of 'alignment'. More...
 
size_t Ogre::alignToPreviousMult (size_t offset, size_t alignment)
 This function has been purposedly not been named 'alignToPrevMultiple' to avoid easily confusing it with alignToNextMultiple. More...
 
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. More...
 
uint32 Ogre::FastHash (const char *data, int len, uint32 hashSoFar=0)
 Fast general hashing algorithm. More...
 
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. More...
 
template<typename T >
uint32 Ogre::HashCombine (uint32 hashSoFar, const T &data)
 Combine hashes with same style as boost::hash_combine. More...
 

Variables

const String Ogre::BLANKSTRING
 Constant blank string, useful for returning by ref where local does not exist. More...
 
static const uint8 Ogre::c_allGraphicStagesMask
 
static const uint8 Ogre::c_computeStageMask = 1u << NumShaderTypes