Frontend2Graphics.h File Reference

#include <Frontend2GUI/Window.h>
#include <Frontend2.h>
#include <Frontend2Math/Matrix4.h>
#include <Frontend2Math/Rectangle.h>

Namespaces

namespace  Frontend
namespace  Frontend::Graphics

Classes

class  Frontend::Graphics::Buffer
 Base class for geometry data buffers. More...
class  Frontend::Graphics::VertexBuffer
 Buffer class for holding vertex data. More...
class  Frontend::Graphics::IndexBuffer
 Buffer class for holding index data. More...
class  Frontend::Graphics::Surface
 Represents a 2D buffer of pixels managed by a device. More...
class  Frontend::Graphics::Texture
 Represents a texture managed by a device. More...
class  Frontend::Graphics::Texture2D
 Two dimensional texture. More...
class  Frontend::Graphics::Texture3D
 A three-dimensional texture. More...
class  Frontend::Graphics::TextureCube
 Six two-dimensional texture faces representing a cube texture. More...
class  Frontend::Graphics::SamplerStateDescriptor
 Represents a set of settings for a texture sampler. More...
class  Frontend::Graphics::SamplerState
 Represents a sampler configuraiton. More...
class  Frontend::Graphics::Shader
 Represents a shader object. More...
class  Frontend::Graphics::Parameter
 Represents a parameter inside the program. More...
class  Frontend::Graphics::Program
 A collection of Shader objects which can be used by a device to program the graphcis pipeline. More...
class  Frontend::Graphics::BlendStateDescriptor
 Describes the settings desired for a BlendState object. More...
class  Frontend::Graphics::BlendState
 Represents a set of settings for the blending stage of the graphics pipeline. More...
class  Frontend::Graphics::DepthStencilStateDescriptor
 Describes the settings desired for a DepthStencilState object. More...
class  Frontend::Graphics::DepthStencilState
 Represents a set of settings for the depth/stencil stage of the graphics pipeline. More...
class  Frontend::Graphics::RasterizerStateDescriptor
 Describes the settings desired for a RasterizerState object. More...
class  Frontend::Graphics::RasterizerState
 Represents a set of settings for the rasterizer stage of the graphics pipeline. More...
class  Frontend::Graphics::InputElement
 Describes an element in an input layout. More...
class  Frontend::Graphics::InputLayout
 Describes the layout of vertex attributes in one or more vertex buffers to be used in a draw call. More...
class  Frontend::Graphics::SemanticMapDescriptor
 Describes a semantic map. More...
class  Frontend::Graphics::SemanticMap
 A semantic map defines mappings from custom aliases to backend-dependent attribute streams. More...
class  Frontend::Graphics::Device
 Represents a session with the graphics device. More...
class  Frontend::Graphics::Device::DrawCallListener
 Event receiver for draw calls. More...
class  Frontend::Graphics::Device::Factory
 Defines an interface for creating Device objects. More...

Enumerations

enum  Frontend::Graphics::CompressedTextureFormat { Frontend::Graphics::CompressedTextureFormatRGBADXT1, Frontend::Graphics::CompressedTextureFormatRGBADXT3, Frontend::Graphics::CompressedTextureFormatRGBADXT5 }
 Enumerates possible Compressed Texture Formats. More...
enum  Frontend::Graphics::FilterMode { Frontend::Graphics::FilterModeNone = 0, Frontend::Graphics::FilterModeNearest = 1, Frontend::Graphics::FilterModeLinear = 2, Frontend::Graphics::FilterModeAnisotropic = 3 }
 Represents a filtering method for a texture or surface copy pass. More...
enum  Frontend::Graphics::BufferMode { Frontend::Graphics::BufferModeStatic = 0, Frontend::Graphics::BufferModeDynamic = 1, Frontend::Graphics::BufferModeVolatile = 2 }
 Specifies how the buffer is supposed to be used, to help the driver optimize its management. More...
enum  Frontend::Graphics::LockOperation { Frontend::Graphics::LockOperationReadOnly = 1, Frontend::Graphics::LockOperationWriteOnly = 2, Frontend::Graphics::LockOperationReadWrite = 3 }
 Specifies what kind of access privilegies is desired to a locked buffer. More...
enum  Frontend::Graphics::IndexSize { Frontend::Graphics::IndexSize32Bits = 4, Frontend::Graphics::IndexSize16Bits = 2 }
 Describes the number of bits each index occupies. More...
enum  Frontend::Graphics::WrapMode { Frontend::Graphics::WrapModeRepeat, Frontend::Graphics::WrapModeClamp }
 Specifies how a sampler should respond to overflowing texture coordinates. More...
enum  Frontend::Graphics::TextureType { Frontend::Graphics::TextureType2D, Frontend::Graphics::TextureType3D, Frontend::Graphics::TextureTypeCube }
 Describes the type of a texture. More...
enum  Frontend::Graphics::CubeFace {
  Frontend::Graphics::CubeFacePositiveX, Frontend::Graphics::CubeFacePositiveY, Frontend::Graphics::CubeFacePositiveZ, Frontend::Graphics::CubeFaceNegativeX,
  Frontend::Graphics::CubeFaceNegativeY, Frontend::Graphics::CubeFaceNegativeZ
}
 Enums representing the six face-directions of the cube. More...
enum  Frontend::Graphics::ShaderType { Frontend::Graphics::ShaderTypePixel, Frontend::Graphics::ShaderTypeVertex, Frontend::Graphics::ShaderTypeGeometry }
 Specifies which part of the graphics pipeline a shader is compiled for. More...
enum  Frontend::Graphics::ShaderFormat { Frontend::Graphics::ShaderFormatText, Frontend::Graphics::ShaderFormatBinary }
 Specifies what format the shader source is in. More...
enum  Frontend::Graphics::ParameterType {
  Frontend::Graphics::ParameterTypeVoid, Frontend::Graphics::ParameterTypeFloat, Frontend::Graphics::ParameterTypeInt, Frontend::Graphics::ParameterTypeBool,
  Frontend::Graphics::ParameterTypeVector2, Frontend::Graphics::ParameterTypeVector3, Frontend::Graphics::ParameterTypeVector4, Frontend::Graphics::ParameterTypeVector2i,
  Frontend::Graphics::ParameterTypeVector3i, Frontend::Graphics::ParameterTypeVector4i, Frontend::Graphics::ParameterTypeVector2b, Frontend::Graphics::ParameterTypeVector3b,
  Frontend::Graphics::ParameterTypeVector4b, Frontend::Graphics::ParameterTypeMatrix2, Frontend::Graphics::ParameterTypeMatrix3, Frontend::Graphics::ParameterTypeMatrix4,
  Frontend::Graphics::ParameterTypeMatrix2i, Frontend::Graphics::ParameterTypeMatrix3i, Frontend::Graphics::ParameterTypeMatrix4i, Frontend::Graphics::ParameterTypeMatrix2b,
  Frontend::Graphics::ParameterTypeMatrix3b, Frontend::Graphics::ParameterTypeMatrix4b, Frontend::Graphics::ParameterTypeSampler2D, Frontend::Graphics::ParameterTypeSamplerCube,
  Frontend::Graphics::ParameterTypeSampler3D
}
 Enumerates the possible shader parameter types. More...
enum  Frontend::Graphics::BlendOperand {
  Frontend::Graphics::BlendOperandZero = 0, Frontend::Graphics::BlendOperandOne = 1, Frontend::Graphics::BlendOperandSrcAlpha = 2, Frontend::Graphics::BlendOperandOneMinusSrcAlpha = 3,
  Frontend::Graphics::BlendOperandSrcColor = 4, Frontend::Graphics::BlendOperandOneMinusSrcColor = 5, Frontend::Graphics::BlendOperandDstAlpha = 6, Frontend::Graphics::BlendOperandOneMinusDstAlpha = 7,
  Frontend::Graphics::BlendOperandDstColor = 8, Frontend::Graphics::BlendOperandOneMinusDstColor = 9
}
 Specifies the alpha source of a blend operand. More...
enum  Frontend::Graphics::CompareFunction {
  Frontend::Graphics::CompareFunctionAlways = 0, Frontend::Graphics::CompareFunctionLess = 1, Frontend::Graphics::CompareFunctionLessOrEqual = 2, Frontend::Graphics::CompareFunctionEqual = 3,
  Frontend::Graphics::CompareFunctionNotEqual = 4, Frontend::Graphics::CompareFunctionGreaterOrEqual = 5, Frontend::Graphics::CompareFunctionGreater = 6, Frontend::Graphics::CompareFunctionNever = 7
}
 Specifies the conditions for when a comparision should pass. More...
enum  Frontend::Graphics::StencilOperation {
  Frontend::Graphics::StencilOperationNull = 0, Frontend::Graphics::StencilOperationKeep = 1, Frontend::Graphics::StencilOperationReplace = 2, Frontend::Graphics::StencilOperationIncrease = 3,
  Frontend::Graphics::StencilOperationDecrease = 4, Frontend::Graphics::StencilOperationInvert = 5
}
 Specifies what to do when a stencil test passes. More...
enum  Frontend::Graphics::Winding { Frontend::Graphics::WindingClockwise = 0, Frontend::Graphics::WindingCounterClockwise = 1 }
 Specifies the direction in which polygons are winded to be front-facing. More...
enum  Frontend::Graphics::PolygonFace { Frontend::Graphics::PolygonFaceNone = 0, Frontend::Graphics::PolygonFaceFront = 1, Frontend::Graphics::PolygonFaceBack = 2 }
 Specifies a face of a polygon. More...
enum  Frontend::Graphics::DataType {
  Frontend::Graphics::DataTypeInt8, Frontend::Graphics::DataTypeUnisgnedInt8, Frontend::Graphics::DataTypeInt16, Frontend::Graphics::DataTypeUnisgnedInt16,
  Frontend::Graphics::DataTypeFloat32
}
 Specifies the data type of each component in an attribute. More...
enum  Frontend::Graphics::DefaultSemantics {
  Frontend::Graphics::F_POSITION = 0, Frontend::Graphics::F_BLENDWEIGHTS = 1, Frontend::Graphics::F_BLENDINDICES = 2, Frontend::Graphics::F_COLOR = 3,
  Frontend::Graphics::F_NORMAL = 4, Frontend::Graphics::F_TANGENT = 5, Frontend::Graphics::F_BINORMAL = 6, Frontend::Graphics::F_INSTANCE = 7,
  Frontend::Graphics::F_TEXCOORD0 = 8, Frontend::Graphics::F_TEXCOORD1 = 9, Frontend::Graphics::F_TEXCOORD2 = 10, Frontend::Graphics::F_TEXCOORD3 = 11,
  Frontend::Graphics::F_TEXCOORD4 = 12, Frontend::Graphics::F_TEXCOORD5 = 13, Frontend::Graphics::F_TEXCOORD6 = 14, Frontend::Graphics::F_TEXCOORD7 = 15
}
 Declares symbols for the default mapping of attributes to semantic names. More...
enum  Frontend::Graphics::DepthStencilFormat { Frontend::Graphics::DepthStencilFormatD16, Frontend::Graphics::DepthStencilFormatD24S8, Frontend::Graphics::DepthStencilFormatDFloat32, Frontend::Graphics::DepthStencilFormatS8 }
 Enumerates the different formats for depth/stencil-buffers. More...
enum  Frontend::Graphics::ViewportConfiguration { Frontend::Graphics::ViewportConfigurationUpperLeft, Frontend::Graphics::ViewportConfigurationLowerLeft }
 Enumerates the different viewport configurations a device might use. More...
enum  Frontend::Graphics::PrimitiveType {
  Frontend::Graphics::PrimitiveTypePoints = 0, Frontend::Graphics::PrimitiveTypeLines = 1, Frontend::Graphics::PrimitiveTypeLineStrip = 2, Frontend::Graphics::PrimitiveTypeTriangles = 3,
  Frontend::Graphics::PrimitiveTypeTriangleStrip = 4
}
 Enumerates the different primitive types which can be drawn. More...
enum  Frontend::Graphics::ClearBuffers {
  Frontend::Graphics::ClearBuffersColor = 1, Frontend::Graphics::ClearBuffersDepth = 2, Frontend::Graphics::ClearBuffersStencil = 4, Frontend::Graphics::ClearBuffersColorAndDepth = 3,
  Frontend::Graphics::ClearBuffersColorAndStencil = 5, Frontend::Graphics::ClearBuffersDepthAndStencil = 6, Frontend::Graphics::ClearBuffersAll = 7
}
 Enumerates the different buffers of a device. More...
enum  Frontend::Graphics::ShadingLanguage { Frontend::Graphics::ShadingLanguageCG = 1, Frontend::Graphics::ShadingLanguageHLSL = 2, Frontend::Graphics::ShadingLanguageGLSL = 4, Frontend::Graphics::ShadingLanguageBin = 8 }
 Enumerates the different shading languages compatible with the device The languages can be combined by using the bitwise OR-operator if the device supports multiple languages. More...
enum  Frontend::Graphics::DeviceFlag { Frontend::Graphics::DeviceFlagVerticalSync = 1 }
 Enumerates device creation flags that can be used with Device::Factory objects. More...