Spinning Topp Logo BlackTopp Studios
inc
Namespaces | Classes | Typedefs | Enumerations | Functions
Mezzanine::Graphics Namespace Reference

This namespace is for all the classes belonging to the Graphics Subsystem. More...

Namespaces

 Procedural
 This namespace is for all the classes that facilitate the procedural creation of art assets.
 

Classes

class  Billboard
 This is the proxy class for placing and manipulating a set of 2D billboards in the scene. More...
 
class  BillboardSetProxy
 This is the proxy class for placing and manipulating a set of 2D billboards in the scene. More...
 
class  Bone
 This class encapsulates the bones contained in a skeleton used for animation. More...
 
class  CameraProxy
 This is the proxy class for placing and manipulating a camera in the scene. More...
 
class  DefaultGraphicsManagerFactory
 A factory responsible for the creation and destruction of the default graphicsmanager. More...
 
class  DefaultMeshManagerFactory
 A factory responsible for the creation and destruction of the default MeshManager. More...
 
class  DefaultSceneManagerFactory
 A factory responsible for the creation and destruction of the default scenemanager. More...
 
class  DefaultTextureManagerFactory
 A factory responsible for the creation and destruction of the default TextureManager. More...
 
class  EntityProxy
 This is the proxy class for placing and manipulating a mesh in the scene. More...
 
class  GameWindow
 This class is for creating and managing game windows. More...
 
class  GraphicsManager
 This is intended to store basic graphics setting for the user. More...
 
class  Image
 This class represents an image loaded into system memory. More...
 
class  InternalImageData
 This class is used to store the internal structures needed by the Image class. More...
 
class  InternalMaterialData
 This class is used to store the internal structures needed by the Material class. More...
 
class  InternalMeshData
 This class is used to store the internal structures needed by the Mesh class. More...
 
class  InternalSkeletonData
 This class is used to store the internal structures needed by the Skeleton class. More...
 
class  InternalTextureData
 This class is used to store the internal structures needed by the Texture class. More...
 
class  LightProxy
 This is the proxy class for placing and manipulating lighting in the scene. More...
 
class  Material
 This class represents all the rendering passes a rendered object has. More...
 
class  Mesh
 This class is used to check and modify the properties of a graphics mesh. More...
 
struct  MeshInfo
 A convenience class for the storage of rendering data in a Mesh/SubMesh. More...
 
class  MeshManager
 This manager handles the storage, generation, and query of of Graphics Meshes. More...
 
class  ParticleAffector
 This class defines how particles of a given particle effect behave during their lifetime. More...
 
class  ParticleEmitter
 This class defines how particles of a given particle effect spawn. More...
 
class  ParticleSystemProxy
 This is the proxy class for placing and manipulating particles in the scene. More...
 
class  Pass
 This class represents one rendering pass for a graphics object. More...
 
class  RenderableProxy
 This is the base proxy class for world proxies wrapping functionality of the graphics subsystem. More...
 
class  RenderWorkUnit
 This does the main loop processing for required to make the Graphics Manager function. More...
 
class  Resolution
 This stores all the basic configuration options a game window supports. More...
 
class  SceneManager
 This class contains utilities and functions to allow the manipulation of the Graphical scene, rather then the physics inside, or the object inside. More...
 
class  SceneManagerData
 Stores internal data for the SCeneManager to keep it from cluttering the Header file. More...
 
class  Skeleton
 This class encapsulates the Skeletal animation functionality of a Mesh. More...
 
class  SubMesh
 This class represents a sub-section of an overall mesh. More...
 
class  Technique
 This class represents a collection of passes an object has for it's rendering. More...
 
class  Texture
 This class represents a texture loaded into video memory. More...
 
class  TextureManager
 This manager handles the storage and query of of Graphics Textures. More...
 
struct  VertexInfo
 A convenience class for the storage of Vertex data in a Mesh/SubMesh. More...
 
class  Viewport
 This class is for creating and managing viewports within a game window. More...
 
struct  WindowSettings
 This stores all the basic configuration options a game window supports. More...
 

Typedefs

typedef std::vector< IntegerIntVec
 Convenience type for a container of Integers.
 
typedef std::vector< Vector2Vector2Vec
 Convenience type for a container of Vector2s.
 
typedef std::vector< Vector3Vector3Vec
 Convenience type for a container of Vector3s.
 

Enumerations

enum  AspectRatio {
  AR_3_By_2 = 1, AR_4_By_3 = 2, AR_5_By_3 = 3, AR_5_By_4 = 4,
  AR_8_By_5 = 5, AR_16_By_9 = 6, AR_17_By_9 = 7, AR_1_85_By_1 = 8,
  AR_2_39_By_1 = 9
}
 This is used primarily by the GraphicsManager to keep track of the supported and currently used aspect ratios. More...
 
enum  BillboardOrigin {
  BBO_Top_Left, BBO_Top_Center, BBO_Top_Right, BBO_Center_Left,
  BBO_Center, BBO_Center_Right, BBO_Bottom_Left, BBO_Bottom_Center,
  BBO_Bottom_Right
}
 This is used by the BillboardSetProxy to describe which part of the billboard will be treated as the local origin for placement and rotation. More...
 
enum  BillboardRotation { BBR_Vertex, BBR_TexureCoord }
 This is used by the BillboardSetProxy to decide how billboards should be rotated when they are requested to rotate. More...
 
enum  BillboardType {
  BBT_Point, BBT_Oriented_Common, BBT_Oriented_Self, BBT_Perpendicular_Common,
  BBT_Perpendicular_Self
}
 This is used by BillboardSetProxies to describe how the billboards are to be oriented. More...
 
enum  CameraPolyMode { CPM_Points = 1, CPM_WireFrame = 2, CPM_Solid = 3 }
 This is used by CameraProxies to quickly set a different render mode that is useful for debugging graphics renders. More...
 
enum  ImageFileFormat {
  IFF_Ext_Unknown = 0, IFF_Ext_bmp = 1, IFF_Ext_cut = 2, IFF_Ext_exr = 3,
  IFF_Ext_gif = 4, IFF_Ext_g3 = 5, IFF_Ext_hdp = 6, IFF_Ext_hdr = 7,
  IFF_Ext_ico = 8, IFF_Ext_iff = 9, IFF_Ext_jif = 10, IFF_Ext_jng = 11,
  IFF_Ext_jpe = 12, IFF_Ext_jpg = 13, IFF_Ext_jpeg = 14, IFF_Ext_jp2 = 15,
  IFF_Ext_jxr = 16, IFF_Ext_j2c = 17, IFF_Ext_j2k = 18, IFF_Ext_koa = 19,
  IFF_Ext_lbm = 20, IFF_Ext_mng = 21, IFF_Ext_pbm = 22, IFF_Ext_pcd = 23,
  IFF_Ext_pct = 24, IFF_Ext_pcx = 25, IFF_Ext_pfm = 26, IFF_Ext_pgm = 27,
  IFF_Ext_pic = 28, IFF_Ext_pict = 29, IFF_Ext_png = 30, IFF_Ext_ppm = 31,
  IFF_Ext_psd = 32, IFF_Ext_ras = 33, IFF_Ext_sgi = 34, IFF_Ext_targa = 35,
  IFF_Ext_tga = 36, IFF_Ext_tif = 37, IFF_Ext_tiff = 38, IFF_Ext_wap = 39,
  IFF_Ext_wbm = 40, IFF_Ext_wbmp = 41, IFF_Ext_wdp = 42, IFF_Ext_webp = 43,
  IFF_Ext_xbm = 44, IFF_Ext_xpm = 45, IFF_Ext_dds = 46, IFF_Ext_ktx = 47,
  IFF_Ext_pkm = 48, IFF_Ext_pvr = 49
}
 This enum describes the various file formats for images supported by the Mezzanine. More...
 
enum  LightType { LT_Directional = 0, LT_Point = 1, LT_Spotlight = 2 }
 This is used by LightProxies to describe how light is emitted from the proxy source. More...
 
enum  OrientationMode {
  OM_Degree_0 = 0, OM_Degree_90 = 1, OM_Degree_180 = 2, OM_Degree_270 = 3,
  OM_Portrait = OM_Degree_0, OM_LandscapeRight = OM_Degree_90, OM_LandscapeLeft = OM_Degree_270
}
 This is used by CameraProxies to determine the orientation of the camera frustrum.
 
enum  PixelFormat {
  PF_Unknown = 0, PF_L8 = 1, PF_Byte_L = PF_L8, PF_L16 = 2,
  PF_Short_L = PF_L16, PF_A8 = 3, PF_Byte_A = PF_A8, PF_A4L4 = 4,
  PF_Byte_LA = 5, PF_R5G6B5 = 6, PF_B5G6R5 = 7, PF_R3G3B2 = 31,
  PF_A4R4G4B4 = 8, PF_A1R5G5B5 = 9, PF_R8G8B8 = 10, PF_B8G8R8 = 11,
  PF_A8R8G8B8 = 12, PF_A8B8G8R8 = 13, PF_B8G8R8A8 = 14, PF_R8G8B8A8 = 28,
  PF_X8R8G8B8 = 26, PF_X8B8G8R8 = 27, PF_A2R10G10B10 = 15, PF_A2B10G10R10 = 16,
  PF_DXT1 = 17, PF_DXT2 = 18, PF_DXT3 = 19, PF_DXT4 = 20,
  PF_DXT5 = 21, PF_Float16_R = 32, PF_Float16_RGB = 22, PF_Float16_RGBA = 23,
  PF_Float32_R = 33, PF_Float32_RGB = 24, PF_Float32_RGBA = 25, PF_Float16_GR = 35,
  PF_Float32_GR = 36, PF_Depth = 29, PF_Short_RGBA = 30, PF_Short_GR = 34,
  PF_Short_RGB = 37, PF_PVRTC_RGB2 = 38, PF_PVRTC_RGBA2 = 39, PF_PVRTC_RGB4 = 40,
  PF_PVRTC_RGBA4 = 41, PF_PVRTC2_2BPP = 42, PF_PVRTC2_4BPP = 43, PF_R11G11B10_Float = 44,
  PF_R8_UInt = 45, PF_R8G8_UInt = 46, PF_R8G8B8_UInt = 47, PF_R8G8B8A8_UInt = 48,
  PF_R16_UInt = 49, PF_R16G16_UInt = 50, PF_R16G16B16_UInt = 51, PF_R16G16B16A16_UInt = 52,
  PF_R32_UInt = 53, PF_R32G32_UInt = 54, PF_R32G32B32_UInt = 55, PF_R32G32B32A32_UInt = 56,
  PF_R8_SInt = 57, PF_R8G8_SInt = 58, PF_R8G8B8_SInt = 59, PF_R8G8B8A8_SInt = 60,
  PF_R16_SInt = 61, PF_R16G16_SInt = 62, PF_R16G16B16_SInt = 63, PF_R16G16B16A16_SInt = 64,
  PF_R32_SInt = 65, PF_R32G32_SInt = 66, PF_R32G32B32_SInt = 67, PF_R32G32B32A32_SInt = 68,
  PF_R9G9B9E5_SharedExp = 69, PF_BC4_UNorm = 70, PF_BC4_SNorm = 71, PF_BC5_UNorm = 72,
  PF_BC5_SNorm = 73, PF_BC6H_UF16 = 74, PF_BC6H_SF16 = 75, PF_BC7_UNorm = 76,
  PF_BC7_UNorm_SRGB = 77, PF_R8 = 78, PF_RG8 = 79, PF_R8_SNorm = 80,
  PF_R8G8_SNorm = 81, PF_R8G8B8_SNorm = 82, PF_R8G8B8A8_SNorm = 83, PF_R16_SNorm = 84,
  PF_R16G16_SNorm = 85, PF_R16G16B16_SNorm = 86, PF_R16G16B16A16_SNorm = 87, PF_ETC1_RGB8 = 88,
  PF_ETC2_RGB8 = 89, PF_ETC2_RGBA8 = 90, PF_ETC2_RGB8A1 = 91, PF_ATC_RGB = 92,
  PF_ATC_RGBA_Explicit_Alpha = 93, PF_ATC_RGBA_Interpolated_Alpha = 94, PF_Count = 95
}
 This is used to describe how bits are arraged for each pixel in an image.
 
enum  ProjectionType { PT_Orthographic = 0, PT_Perspective = 1 }
 Values for storing how perspective should be interpretted. More...
 
enum  RenderOperation {
  RO_PointList = 1, RO_LineList = 2, RO_LineStrip = 3, RO_TriangleList = 4,
  RO_TriangleStrip = 5, RO_TriangleFan = 6
}
 Used to describe low level assembly of Meshes. Mostly for internal use. More...
 
enum  RenderSystem {
  RS_Invalid = 0, RS_DirectX9 = 1, RS_DirectX10 = 2, RS_DirectX11 = 3,
  RS_OpenGL2 = 4, RS_OpenGL3Plus = 5, RS_OpenGLES1 = 6, RS_OpenGLES2 = 7
}
 Used primarily by the graphics manager class during initialization. More...
 
enum  TextureType {
  TT_Invalid = 0, TT_1D = 1, TT_2D = 2, TT_3D = 3,
  TT_Cube_Map = 4, TT_2D_Array = 5, TT_2D_Rect = 6
}
 An enum used to describe the various types of supported textures. More...
 
enum  TextureUsage {
  TU_Static = 1, TU_Dynamic = 2, TU_Write_Only = 4, TU_Static_Write_Only = TU_Static | TU_Write_Only,
  TU_Dynamic_Write_Only = TU_Dynamic | TU_Write_Only, TU_Dynamic_Write_Only_Discardable = 14, TU_AutoMipMap = 16, TU_RenderTarget = 32,
  TU_Default = TU_AutoMipMap | TU_Static_Write_Only
}
 An enum used to describe how the buffer of a texture will be used. More...
 

Functions

Graphics::ImageFileFormat ConvertImageFileExtension (String Extension)
 Converts a String file extension to an ImageFileFormat enum value.

Exceptions
Ifan invalid extension string is provided a NOT_IMPLEMENTED_EXCEPTION will be thrown.
More...
 
String ConvertImageFileExtension (const Graphics::ImageFileFormat Extension)
 Converts an ImageFileFormat enum value to a String file extension.

Exceptions
Ifan invalid ImageFileFormat enum value is provided a NOT_IMPLEMENTED_EXCEPTION will be thrown.
More...
 
void CreateD3D11RenderSystem ()
 Creates the rendersystem and populates internal structures appropriately for use.
 
void CreateD3D9RenderSystem ()
 Creates the rendersystem and populates internal structures appropriately for use.
 
void CreateGL3PlusRenderSystem ()
 Creates the rendersystem and populates internal structures appropriately for use.
 
void CreateGLES2RenderSystem ()
 Creates the rendersystem and populates internal structures appropriately for use.
 
void CreateGLESRenderSystem ()
 Creates the rendersystem and populates internal structures appropriately for use.
 
void CreateGLRenderSystem ()
 Creates the rendersystem and populates internal structures appropriately for use.
 
void DestroyD3D11RenderSystem ()
 Shutsdown the rendersystem and removes it from internal structures. More...
 
void DestroyD3D9RenderSystem ()
 Shutsdown the rendersystem and removes it from internal structures. More...
 
void DestroyGL3PlusRenderSystem ()
 Shutsdown the rendersystem and removes it from internal structures. More...
 
void DestroyGLES2RenderSystem ()
 Shutsdown the rendersystem and removes it from internal structures. More...
 
void DestroyGLESRenderSystem ()
 Shutsdown the rendersystem and removes it from internal structures. More...
 
void DestroyGLRenderSystem ()
 Shutsdown the rendersystem and removes it from internal structures. More...
 
String GetD3D11RenderSystemName ()
 Gets the long name of the D3D11 render system. More...
 
Graphics::RenderSystem GetD3D11RenderSystemType ()
 Gets the Mezzanine type for the internal D3D11 render system. More...
 
String GetD3D9RenderSystemName ()
 Gets the long name of the D3D9 render system. More...
 
Graphics::RenderSystem GetD3D9RenderSystemType ()
 Gets the Mezzanine type for the internal D3D9 render system. More...
 
String GetGL3PlusRenderSystemName ()
 Gets the long name of the GL3Plus render system. More...
 
Graphics::RenderSystem GetGL3PlusRenderSystemType ()
 Gets the Mezzanine type for the internal GL3Plus render system. More...
 
String GetGLES2RenderSystemName ()
 Gets the long name of the GLES2 render system. More...
 
Graphics::RenderSystem GetGLES2RenderSystemType ()
 Gets the Mezzanine type for the internal GLES2 render system. More...
 
String GetGLESRenderSystemName ()
 Gets the long name of the GLES render system. More...
 
Graphics::RenderSystem GetGLESRenderSystemType ()
 Gets the Mezzanine type for the internal GLES render system. More...
 
String GetGLRenderSystemName ()
 Gets the long name of the GL render system. More...
 
Graphics::RenderSystem GetGLRenderSystemType ()
 Gets the Mezzanine type for the internal GL render system. More...
 
String GetShortenedD3D11RenderSystemName ()
 Gets the short name of the D3D11 render system. More...
 
String GetShortenedD3D9RenderSystemName ()
 Gets the short name of the D3D9 render system. More...
 
String GetShortenedGL3PlusRenderSystemName ()
 Gets the short name of the GL3Plus render system. More...
 
String GetShortenedGLES2RenderSystemName ()
 Gets the short name of the GLES2 render system. More...
 
String GetShortenedGLESRenderSystemName ()
 Gets the short name of the GLES render system. More...
 
String GetShortenedGLRenderSystemName ()
 Gets the short name of the GL render system. More...
 

Detailed Description

This namespace is for all the classes belonging to the Graphics Subsystem.

Our Graphics system uses Ogre for all of Mezzanine's graphical/visual needs.

Enumeration Type Documentation

This is used primarily by the GraphicsManager to keep track of the supported and currently used aspect ratios.

Enumerator
AR_3_By_2 

1.5

AR_4_By_3 

1.334

AR_5_By_3 

1.667

AR_5_By_4 

1.25

AR_8_By_5 

1.6

AR_16_By_9 

1.778

AR_17_By_9 

1.889

AR_1_85_By_1 

1.85

AR_2_39_By_1 

2.39

Definition at line 51 of file graphicsenumerations.h.

This is used by the BillboardSetProxy to describe which part of the billboard will be treated as the local origin for placement and rotation.

Enumerator
BBO_Top_Left 

Position/Rotate around the Top-Left corner of the billboard.

BBO_Top_Center 

Position/Rotate around the Top-Center of the billboard.

BBO_Top_Right 

Position/Rotate around the Top-Right corner of the billboard.

BBO_Center_Left 

Position/Rotate around the Center-Left side of the billboard.

BBO_Center 

Position/Rotate around the Center of the billboard.

BBO_Center_Right 

Position/Rotate around the Center-Right side of the billboard.

BBO_Bottom_Left 

Position/Rotate around the Bottom-Left corner of the billboard.

BBO_Bottom_Center 

Position/Rotate around the Bottom-Center of the billboard.

BBO_Bottom_Right 

Position/Rotate around the Bottom-Right corner of the billboard.

Definition at line 65 of file graphicsenumerations.h.

This is used by the BillboardSetProxy to decide how billboards should be rotated when they are requested to rotate.

Enumerator
BBR_Vertex 

Rotates the vertices of the billboard when rotated.

BBR_TexureCoord 

Rotates the texture coordinates of the billboard when rotated, preserving the vertex positions.

Definition at line 79 of file graphicsenumerations.h.

This is used by BillboardSetProxies to describe how the billboards are to be oriented.

Enumerator
BBT_Point 

Default setting. Billboard direction always faces the camera and is always oriented to be upright.

BBT_Oriented_Common 

Billboards are oriented around a common axis provided to the BillboardSetProxy, which will act as their local Y axis. Common Direction needs to be defined for this setting.

BBT_Oriented_Self 

Billboards are oriented around their own individually set direction axis, which will act as their local Y axis.

BBT_Perpendicular_Common 

Billboards are oriented around a common axis provided to the BillboardSetProxy, which will act as their local Z axis. Common Direction and Common Up Vector needs to be defined for this setting.

BBT_Perpendicular_Self 

Billboards are oriented around their own individually set direction axis, which will act as their local Z axis. Common Up Vector needs to be defined for this setting.

Definition at line 86 of file graphicsenumerations.h.

This is used by CameraProxies to quickly set a different render mode that is useful for debugging graphics renders.

Enumerator
CPM_Points 

Only points for each of the vertices are rendered.

CPM_WireFrame 

Wireframes for all the meshes and geometry are rendered.

CPM_Solid 

Normal rendering.

Definition at line 96 of file graphicsenumerations.h.

This enum describes the various file formats for images supported by the Mezzanine.

Every format mentioned here has read support. Many do not have write support. Those that do will say so explicitly.

In addition to the formats listed here there are also a TON of unlisted raw image formats made and used by digital camera's that can be read. The list for those formats is extremely large and this list may one day be populated with them, but for now they will be left off of the list. LibRAW provides that functionality and you can look at it's documentation if you need to know which camera formats are supported.

This is NOT an exhaustive list of what each format supports. If you attempt to load or save an image the information here indicates it should work but does not, then some detail not mentioned here is likely preventing it from working. Or the information here could be wrong. Regardless information here should not be taken as a final authority. Most of these formats have quirks.

Enumerator
IFF_Ext_Unknown 

Used exclusively in error conditions.

IFF_Ext_bmp 

Bitmap image. Lossless compression format that can support most non-float pixel formats. Supports Alpha channel. Writing is supported.

IFF_Ext_cut 

Acronym unknown. Lossless compression format that supports 8-bits-per-pixel integer pixel format if it has an accompanying .PAL (Palette) file defining the colours it contains. Otherwise .cut files are treated as grey scale images. Does not support Alpha channel.

IFF_Ext_exr 

Acronym unknown. Supports Lossless or Lossy compression with 16-bit float, 32-bit float, or 32-bit integer colour channels with an arbitrary number of colour channels per pixel. Intended for HDR images. Supports Alpha channel. Writing is supported.

IFF_Ext_gif 

Graphics Interchange Format image. Lossless compression format that supports 8-bits-per-pixel and animations. Does not support Alpha channel. Writing is supported.

IFF_Ext_g3 

Acronym unknown. Lossless compression format that supports 1-bit-per-pixel integer pixel format. Does not support Alpha channel.

IFF_Ext_hdp 

Alternative name for jxr. See jxr extension information for more information.

IFF_Ext_hdr 

High Dynamic Ranging image. Lossless compression format that stores RGB in 8-bit colour channels with an 8-bit shared exponent taken from the brightest colour for a 32-bits-per-pixel float pixel format. Intended for HDR images. Does not support Alpha channel. Writing is supported.

IFF_Ext_ico 

Icon image. This format isn't an image so much as it is a container for a bmp or png image. It's limitations and capabilities are the same as those images, with one exception: .ico images are limited to 256x256 sizes. Writing is supported.

IFF_Ext_iff 

Interchange File Format image. Lossless compression format that supports 8-bit integer colour channels with an optional 8-bit Alpha channel, allowing either 24-bit or 32-bit pixels. Supports Alpha channel.

IFF_Ext_jif 

JPEG Interchange Format image, subtle alternative in how pixels are packed to the jpeg extension. See jpeg extension information for more information.. Writing is supported.

IFF_Ext_jng 

JPEG Network Graphics image. This format extends the JPEG format by supporting Lossless or Lossy compression, 8-bit or 12-bit integer colour channels, and supports an Alpha channel. Writing is supported.

IFF_Ext_jpe 

Shorthand for jpeg. See jpeg extension information for more information.

IFF_Ext_jpg 

Shorthand for jpeg. See jpeg extension information for more information.

IFF_Ext_jpeg 

Joint Photographic Experts Group image. Lossy compression format that supports 24-bits-per-pixel integer pixel format. Does not support Alpha channel. Writing is supported.

IFF_Ext_jp2 

JPEG 2000 image. This format extends the JPEG format by improving the underlying compression algorithm, supporting arbitrary bit depths up to 32-bit colour channels as integers or floats including an Alpha channel, and enabling lossy or lossless compression. Supports Alpha channel. Writing is supported.

IFF_Ext_jxr 

JPEG XR image. This extends the the JPEG standard by adding support for lossless compression and enabling 16-bit integer colour channels, enabling an Alpha channel, and enabling 16-bit (half-precision) or 32-bit (full precision) float pixel formats. Supports Alpha channel. Writing is supported.

IFF_Ext_j2c 

JPEG 2000 Codestream image. This is an image format that is generally embedded inside a jp2 or j2k image file, and shouldn't be seen independently, but might for debugging or special use cases. Has the same limitations as jp2/j2k image files. Writing is supported.

IFF_Ext_j2k 

JPEG 2000 image, an alternative name for jp2 image files. See jp2 extension information for more information.

IFF_Ext_koa 

Koala Paint image. Gonna level with you, when I looked up this format I found results that references 8-bit computers and Commodore 64's. I also believe this format only supports 16 colours. You probably shouldn't be using this. Ever.

IFF_Ext_lbm 

Interleaved Bitmap image, which is an alternative name to the iff image format. See iff extension information for more information.

IFF_Ext_mng 

Multiple-image Network Graphics image. This is an animated image format that can have frames encoded as png or jng images. See png or jng extension information for more information..

IFF_Ext_pbm 

Portable Bitmap, a Netpbm format image. Uncompressed format that supports only 1-bit-per-pixel. Does not support Alpha channel. Writing is supported.

IFF_Ext_pcd 

(Kodak) Photo CD image. Lossless compression format that supports 24-bits-per-pixel. Does not support Alpha channel.

IFF_Ext_pct 

(Macintosh QuickDraw) Picture image, an alternative name for pict image files. See pict extension information for more information.

IFF_Ext_pcx 

Personal Computer Exchange image. This was the first widely accepted DOS image format! In the off chance you need to hear more; the format in it's current form uses lossless compression, supports 1-bit and 24-bit pixels, and everything sensical in between. Does not support Alpha channel.

IFF_Ext_pfm 

Portable Float Map, an unofficial Netpbm format image. Lossless compression format that supports 8-bit or 24-bit float pixel format. Does not support Alpha channel. Writing is supported.

IFF_Ext_pgm 

Portable Graymap, a Netpbm format image. Uncompressed format that can support 8-bit or 16-bit pixels in a single channel (greyscale). Does not support Alpha channel. Writing is supported.

IFF_Ext_pic 

(Macintosh QuickDraw) Picture image, an alternative name for pict image files. See pict extension information for more information.

IFF_Ext_pict 

(Macintosh QuickDraw) Picture image. This is a file that stores 16-bit opcodes that provide instructions for how to draw it's contents to QuickDraw. This makes it a Vector image format rather than a Raster format. Support for this format was discontinued with MacOSX.

IFF_Ext_png 

Portable Network Graphics image. Lossless compression format that generally is 32-bits-per-pixel integer pixel format, but can be configured to have anything between 1-bit and 64-bits per pixel. Supports Alpha channel. Writing is supported.

IFF_Ext_ppm 

Portable Pixmap, a Netpbm format image. Uncompressed format that can support 8-bit or 16-bit integer colour channels. Does not support Alpha channel. Writing is supported.

IFF_Ext_psd 

Photoshop Document image. Normal image format properties are unknown, but psd files are designed to store normal image data plus tons of additional Adobe metadata.

IFF_Ext_ras 

Sun Raster image. Lossless compression format that supports 1-bit, 8-bit, and 24-bit integer pixel formats. Does not support Alpha channel.

IFF_Ext_sgi 

Silicon Graphics Image. Lossless compression format that supports 24-bit or 48-bit integer pixel formats. Does not support Alpha channel.

IFF_Ext_targa 

Truevision Advanced Raster Graphics Adapter image, an alternative name for tga image files. See tga extension information for more information.

IFF_Ext_tga 

Truevision Graphics Adapter image. Lossless compression format that supports 24-bit or 32-bit integer pixel formats. Supports Alpha channel. Writing is supported.

IFF_Ext_tif 

Shorthand for tiff. See tiff extension information for more information.

IFF_Ext_tiff 

Tagged Image File Format image. Lossless compression format that supports 1-bit, 2-bit, 8-bit, or 32-bit integer pixels formats, as well as 32-bit or 64-bit float or double pixel formats. Supports Alpha channel. Writing is supported.

IFF_Ext_wap 

Shorthand for wbmp. See wbmp extension information for more information.

IFF_Ext_wbm 

Shorthand for wbmp. See wbmp extension information for more information.

IFF_Ext_wbmp 

Wireless Bitmap image. Lossless compression format that supports 1-bit-per-pixel integer pixel format. Does not support Alpha channel. Writing is supported.

IFF_Ext_wdp 

Alternative name for jxr. See jxr extension information for more information.

IFF_Ext_webp 

(Google) Webp image. Lossless or lossy compression format that supports 8-bit integer colour channels. Supports Alpha channel. Writing is supported.

IFF_Ext_xbm 

X11 Bitmap image. Uncompressed format that uses c-style syntax to provide instructions on how to construct the image.

IFF_Ext_xpm 

X11 Pixmap image. Lossless compression format that supports 24-bit integer pixel formats. Does not support Alpha channel. Writing is supported.

IFF_Ext_dds 

DirectDraw Surface image. Lossy or Lossless compression format that supports a wide range of pixel formats, as well as texture arrays, cube maps, and volume maps. Despite it's name some GL implementations support it's use as well, allowing it to stay compressed in video memory. Supports Alpha channel.

IFF_Ext_ktx 

Acronym unknown. Uses Ericsson Texture Compression which is lossy and supports 8-bit colour channels. This is dominately used on Android devices and in some cases can stay compressed in video memory. Supports Alpha channel.

IFF_Ext_pkm 

Alternative name for ktx. See ktx extension information for more information.

IFF_Ext_pvr 

PowerVR image. Lossy compression format that supports 2-bit or 4-bit integer pixels formats. This is dominately used on iOS devices to store simple images and in some cases can stay compressed in video memory. Does not support Alpha channel.

Definition at line 110 of file graphicsenumerations.h.

This is used by LightProxies to describe how light is emitted from the proxy source.

Enumerator
LT_Directional 

From one direction, like sunlight.

LT_Point 

From a point in space, like a Torch, campfire, muzzle flash, Mutant Fireflies, bonfires, light bulbs, non-hooded lantern, the DnD D20 Light spell, explosions, and scotch tape separating from the roll in a unlit vacuum. There may be other uses, be creative.

LT_Spotlight 

From a point emanating in a cone, like a flashlight, hooded lantern, really bright computer screens, flood lights, older style space heaters, Concert lights, camera flashes, etc...

Definition at line 168 of file graphicsenumerations.h.

Values for storing how perspective should be interpretted.

Enumerator
PT_Orthographic 

No projection is used, objects appear to be flat.

PT_Perspective 

Normal (realistic) perspective.

Definition at line 307 of file graphicsenumerations.h.

Used to describe low level assembly of Meshes. Mostly for internal use.

Enumerator
RO_PointList 

Vertices are just a bunch of points. Do not form polygons.

RO_LineList 

Vertices form lines. Each line segment has it's own distinct pair of Vertices. Vertices are not expected to be reused.

RO_LineStrip 

Vertices form lines. The first line is defined with 2 Vertices and each line after requires one additional Vertex, reusing the previous lines end Vertex as the current lines start Vertex.

RO_TriangleList 

Vertices form triangles. Each triangle has it's own distinct set of Vertices. Vertices are not expected to be reused.

RO_TriangleStrip 

Vertices form triangles. The first triangle is defined with 3 Vertices and each triangle after requires one additional Vertex, reusing the previous two Vertices for the start of the triangle.

RO_TriangleFan 

Similar to RO_TriangleString, first triangle defined with 3 Vertices and each triangle after requires one additional Vertex.

Definition at line 314 of file graphicsenumerations.h.

Used primarily by the graphics manager class during initialization.

This enum specifies which Rendersystem is to be used for rendering.

Definition at line 326 of file graphicsenumerations.h.

An enum used to describe the various types of supported textures.

Enumerator
TT_Invalid 

Used to report error conditions.

TT_1D 

A strip of pixels.

TT_2D 

A normal 2 dimensional texture.

TT_3D 

A volume texture.

TT_Cube_Map 

A texture used in conjunction with 2D coordinates to be applied to the faces of a cube.

TT_2D_Array 

A 2D texture array.

TT_2D_Rect 

A non-square 2D texture used in conjunction with 2D coordinates.

Definition at line 339 of file graphicsenumerations.h.

An enum used to describe how the buffer of a texture will be used.

Enumerator
TU_Static 

The texture will rarely be modified by the client application.

TU_Dynamic 

The texture may be changed most or every frame by the client application.

TU_Write_Only 

The texture will never be read by the client application, only written to.

TU_Static_Write_Only 

A combination of TU_Static and TU_Write_Only.

TU_Dynamic_Write_Only 

A combination of TU_Dynamic and TU_Write_Only.

TU_Dynamic_Write_Only_Discardable 

Like TU_Dynamic_Write_Only, but also the contents of the texture buffer may be completely regenerated by the client application.

TU_AutoMipMap 

Indicates MipMaps will be automatically generated for the texture.

TU_RenderTarget 

Indicated this texture will be used each frame for scene rendering.

TU_Default 

By default textures are TU_Static_Write_Only and TU_AutoMipMap.

Definition at line 351 of file graphicsenumerations.h.

Function Documentation

Graphics::ImageFileFormat MEZZ_LIB Mezzanine::Graphics::ConvertImageFileExtension ( String  Extension)

Converts a String file extension to an ImageFileFormat enum value.

Exceptions
Ifan invalid extension string is provided a NOT_IMPLEMENTED_EXCEPTION will be thrown.

Parameters
ExtensionA string containing all characters after the period describing the file format.
Returns
Returns an ImageFileFormat enum value corresponding to the provided extension.

Definition at line 52 of file graphicsutilities.cpp.

String MEZZ_LIB Mezzanine::Graphics::ConvertImageFileExtension ( const Graphics::ImageFileFormat  Extension)

Converts an ImageFileFormat enum value to a String file extension.

Exceptions
Ifan invalid ImageFileFormat enum value is provided a NOT_IMPLEMENTED_EXCEPTION will be thrown.

Parameters
ExtensionAn ImageFileFormat enum value corresponding to the desired extension.
Returns
Returns a String starting containing the relevant extension characters.

Definition at line 113 of file graphicsutilities.cpp.

void MEZZ_LIB Mezzanine::Graphics::DestroyD3D11RenderSystem ( )

Shutsdown the rendersystem and removes it from internal structures.

Note
Currently does nothing because Ogres shutdown sequence is bad.
Todo:
If Ogre gets its act together this method could be implemented.

Definition at line 71 of file d3d11rendersyshelper.cpp.

void MEZZ_LIB Mezzanine::Graphics::DestroyD3D9RenderSystem ( )

Shutsdown the rendersystem and removes it from internal structures.

Note
Currently does nothing because Ogres shutdown sequence is bad.
Todo:
If Ogre gets its act together this method could be implemented.

Definition at line 71 of file d3d9rendersyshelper.cpp.

void MEZZ_LIB Mezzanine::Graphics::DestroyGL3PlusRenderSystem ( )

Shutsdown the rendersystem and removes it from internal structures.

Note
Currently does nothing because Ogres shutdown sequence is bad.
Todo:
If Ogre gets its act together this method could be implemented.

Definition at line 71 of file ogl3plusrendersyshelper.cpp.

void MEZZ_LIB Mezzanine::Graphics::DestroyGLES2RenderSystem ( )

Shutsdown the rendersystem and removes it from internal structures.

Note
Currently does nothing because Ogres shutdown sequence is bad.
Todo:
If Ogre gets its act together this method could be implemented.

Definition at line 71 of file ogles2rendersyshelper.cpp.

void MEZZ_LIB Mezzanine::Graphics::DestroyGLESRenderSystem ( )

Shutsdown the rendersystem and removes it from internal structures.

Note
Currently does nothing because Ogres shutdown sequence is bad.
Todo:
If Ogre gets its act together this method could be implemented.

Definition at line 71 of file oglesrendersyshelper.cpp.

void MEZZ_LIB Mezzanine::Graphics::DestroyGLRenderSystem ( )

Shutsdown the rendersystem and removes it from internal structures.

Note
Currently does nothing because Ogres shutdown sequence is bad.
Todo:
If Ogre gets its act together this method could be implemented.

Definition at line 71 of file oglrendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetD3D11RenderSystemName ( )

Gets the long name of the D3D11 render system.

Returns
Returns a String containing the long name of the D3D11 render system.

Definition at line 80 of file d3d11rendersyshelper.cpp.

Graphics::RenderSystem MEZZ_LIB Mezzanine::Graphics::GetD3D11RenderSystemType ( )

Gets the Mezzanine type for the internal D3D11 render system.

Returns
Returns the RenderSystem enum value representing this type of internal render system.

Definition at line 77 of file d3d11rendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetD3D9RenderSystemName ( )

Gets the long name of the D3D9 render system.

Returns
Returns a String containing the long name of the D3D9 render system.

Definition at line 80 of file d3d9rendersyshelper.cpp.

Graphics::RenderSystem MEZZ_LIB Mezzanine::Graphics::GetD3D9RenderSystemType ( )

Gets the Mezzanine type for the internal D3D9 render system.

Returns
Returns the RenderSystem enum value representing this type of internal render system.

Definition at line 77 of file d3d9rendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetGL3PlusRenderSystemName ( )

Gets the long name of the GL3Plus render system.

Returns
Returns a String containing the long name of the GL3Plus render system.

Definition at line 80 of file ogl3plusrendersyshelper.cpp.

Graphics::RenderSystem MEZZ_LIB Mezzanine::Graphics::GetGL3PlusRenderSystemType ( )

Gets the Mezzanine type for the internal GL3Plus render system.

Returns
Returns the RenderSystem enum value representing this type of internal render system.

Definition at line 77 of file ogl3plusrendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetGLES2RenderSystemName ( )

Gets the long name of the GLES2 render system.

Returns
Returns a String containing the long name of the GLES2 render system.

Definition at line 80 of file ogles2rendersyshelper.cpp.

Graphics::RenderSystem MEZZ_LIB Mezzanine::Graphics::GetGLES2RenderSystemType ( )

Gets the Mezzanine type for the internal GLES2 render system.

Returns
Returns the RenderSystem enum value representing this type of internal render system.

Definition at line 77 of file ogles2rendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetGLESRenderSystemName ( )

Gets the long name of the GLES render system.

Returns
Returns a String containing the long name of the GLES render system.

Definition at line 80 of file oglesrendersyshelper.cpp.

Graphics::RenderSystem MEZZ_LIB Mezzanine::Graphics::GetGLESRenderSystemType ( )

Gets the Mezzanine type for the internal GLES render system.

Returns
Returns the RenderSystem enum value representing this type of internal render system.

Definition at line 77 of file oglesrendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetGLRenderSystemName ( )

Gets the long name of the GL render system.

Returns
Returns a String containing the long name of the GL render system.

Definition at line 80 of file oglrendersyshelper.cpp.

Graphics::RenderSystem MEZZ_LIB Mezzanine::Graphics::GetGLRenderSystemType ( )

Gets the Mezzanine type for the internal GL render system.

Returns
Returns the RenderSystem enum value representing this type of internal render system.

Definition at line 77 of file oglrendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetShortenedD3D11RenderSystemName ( )

Gets the short name of the D3D11 render system.

Returns
Returns a String containing the short name of the D3D11 render system.

Definition at line 83 of file d3d11rendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetShortenedD3D9RenderSystemName ( )

Gets the short name of the D3D9 render system.

Returns
Returns a String containing the short name of the D3D9 render system.

Definition at line 83 of file d3d9rendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetShortenedGL3PlusRenderSystemName ( )

Gets the short name of the GL3Plus render system.

Returns
Returns a String containing the short name of the GL3Plus render system.

Definition at line 83 of file ogl3plusrendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetShortenedGLES2RenderSystemName ( )

Gets the short name of the GLES2 render system.

Returns
Returns a String containing the short name of the GLES2 render system.

Definition at line 83 of file ogles2rendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetShortenedGLESRenderSystemName ( )

Gets the short name of the GLES render system.

Returns
Returns a String containing the short name of the GLES render system.

Definition at line 83 of file oglesrendersyshelper.cpp.

String MEZZ_LIB Mezzanine::Graphics::GetShortenedGLRenderSystemName ( )

Gets the short name of the GL render system.

Returns
Returns a String containing the short name of the GL render system.

Definition at line 83 of file oglrendersyshelper.cpp.