Namespaces | Classes | Enumerations | Functions
ion::Graphics Namespace Reference

Contains ionGraphics module and implementations. More...

Namespaces

 GL
 Contains ionGraphicsGL module.
 

Classes

class  COpenGLImplementation
 
class  CUniform
 Helper class to easily add a uniform as a member or local variable. More...
 
class  CUniformCallback
 Implementation of IUniformTyped that uses a given lambda callback to provide uniform value. More...
 
class  CUniformReference
 Implementation of IUniformTyped that stores a (non-owning) reference to value. More...
 
class  CUniformValue
 Implementation of IUniformTyped that stores a copy of a given value for uniform upload. More...
 
class  IDepthBuffer
 
class  IDrawConfig
 Alternative to Pipeline State rendering. Represents a single draw call. More...
 
class  IDrawContext
 Alternative to Pipeline State rendering. Represents the context for one or many draw calls. More...
 
class  IFrameBuffer
 
class  IGeometryShader
 
class  IGraphicsContext
 
class  IIndexBuffer
 
class  IPipelineState
 
class  IPixelShader
 
class  IRenderTarget
 
class  IShaderProgram
 
class  ITexture
 
class  ITexture2D
 
class  ITexture2DArray
 
class  ITexture3D
 
class  ITextureCubeMap
 
class  IUniform
 Abstract interface for anything which can be uploaded as a shader uniform. More...
 
class  IUniformTyped
 Abstract interface for IUniform with known type. More...
 
class  IVertexBuffer
 
class  IVertexShader
 
struct  SInputLayoutElement
 

Enumerations

enum  EValueType {
  EValueType::Error = 0, Float = 1, EValueType::Float2 = 2, EValueType::Float3 = 3,
  EValueType::Float4 = 4, EValueType::Matrix4x4 = 5, Double = 6, EValueType::SignedInt8 = 7,
  EValueType::SignedInt16 = 8, EValueType::SignedInt32 = 9, EValueType::UnsignedInt8 = 10, EValueType::UnsignedInt16 = 11,
  EValueType::UnsignedInt32 = 12
}
 Standard type enum used through module. More...
 
enum  EScalarType {
  EScalarType::Error = 0, Float = 1, Double = 2, EScalarType::SignedInt8 = 3,
  EScalarType::SignedInt16 = 4, EScalarType::SignedInt32 = 5, EScalarType::UnsignedInt8 = 6, EScalarType::UnsignedInt16 = 7,
  EScalarType::UnsignedInt32 = 8
}
 Value types that exclude vector types. More...
 
enum  EAttributeType {
  Float = 0, Float = 1, Float = 1, Int = 1,
  UnsignedInt = 2, Double = 3, Double = 6, Double = 2
}
 Possible types for attributes i.e. vertex buffer contents. More...
 
enum  EDrawFeature {
  EDrawFeature::Wireframe = 0, EDrawFeature::CullFront = 1, EDrawFeature::CullBack = 2, EDrawFeature::DisableDepthTest = 3,
  EDrawFeature::DisableDepthWrite = 4, EDrawFeature::PolygonOffset = 5
}
 
enum  EBlendMode { EBlendMode::None = 0, EBlendMode::Alpha = 1, EBlendMode::Additive = 2 }
 
enum  EPrimitiveType { EPrimitiveType::Triangle = 0, EPrimitiveType::Line = 1, EPrimitiveType::LineStrip = 2, EPrimitiveType::Point = 3 }
 
enum  EUniformType {
  EUniformType::Float = 0, EUniformType::Float2 = 1, EUniformType::Float3 = 2, EUniformType::Float4 = 3,
  EUniformType::Int = 4, EUniformType::Int2 = 5, EUniformType::Int3 = 6, EUniformType::Int4 = 7,
  EUniformType::Matrix4x4 = 8, EUniformType::FloatArray = 9, EUniformType::Float2Array = 10, EUniformType::Float3Array = 11,
  EUniformType::Matrix4x4Array = 12, EUniformType::Bool = 13
}
 Possible types for uniforms. More...
 

Functions

size_t GetValueTypeSize (EValueType const ValueType)
 Gets the sizeof() for a given type. More...
 
string GetValueTypeString (EValueType const ValueType)
 Gets the string equivalent of the given enum. More...
 
size_t GetAttributeTypeSize (EAttributeType const AttributeType)
 Gets the sizeof() for a given attribute type. More...
 
string GetAttributeTypeString (EAttributeType const AttributeType)
 Gets the string equivalent of the given enum. More...
 
string GetUniformTypeString (EUniformType const UniformType)
 Converts uniform enum to equivalent string form. More...
 
void DebugMessageCallback (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, void const *userParam)
 

Detailed Description

Contains ionGraphics module and implementations.

Further documentation can be found at the ionGraphics page.

Function Documentation

void ion::Graphics::DebugMessageCallback ( GLenum  source,
GLenum  type,
GLuint  id,
GLenum  severity,
GLsizei  length,
const GLchar *  message,
void const *  userParam 
)