Pioneer
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Graphics Namespace Reference

Namespaces

namespace  Drawables
 
namespace  Dummy
 
namespace  OGL
 
namespace  ShaderParser
 

Classes

struct  AttributeSet
 
struct  BufferBinding
 
class  Frustum
 
class  GLDebug
 
class  IndexBuffer
 
class  InstanceBuffer
 
class  Light
 
struct  LightData
 
class  Mappable
 
class  Material
 
class  MaterialDescriptor
 
class  MeshObject
 
class  Renderer
 
class  RendererDummy
 
class  RendererOGL
 
struct  RenderStateDesc
 
class  RenderTarget
 
struct  RenderTargetDesc
 
struct  ScopedMapping
 
struct  ScreendumpState
 
struct  Settings
 
class  Stats
 
class  Texture
 
class  TextureBuilder
 
struct  TextureCubeData
 
class  TextureDescriptor
 
class  TextureDummy
 
class  UniformBuffer
 
class  VertexArray
 
struct  VertexAttribDesc
 
class  VertexBuffer
 
struct  VertexBufferDesc
 
struct  VideoMode
 
struct  ViewportExtents
 

Typedefs

typedef Renderer *(* RendererCreateFunc) (const Settings &vs)
 
typedef std::vector< std::pair< MaterialDescriptor, OGL::Program * > >::const_iterator ProgramIterator
 

Enumerations

enum  RendererType { RENDERER_DUMMY , RENDERER_OPENGL_3x , MAX_RENDERER_TYPE }
 
enum  EffectType {
  EFFECT_DEFAULT , EFFECT_VTXCOLOR , EFFECT_UI , EFFECT_STARFIELD ,
  EFFECT_PLANETRING , EFFECT_GEOSPHERE_TERRAIN , EFFECT_GEOSPHERE_TERRAIN_WITH_LAVA , EFFECT_GEOSPHERE_TERRAIN_WITH_WATER ,
  EFFECT_GEOSPHERE_SKY , EFFECT_GEOSPHERE_STAR , EFFECT_GASSPHERE_TERRAIN , EFFECT_FRESNEL_SPHERE ,
  EFFECT_SHIELD , EFFECT_SKYBOX , EFFECT_SPHEREIMPOSTOR , EFFECT_GEN_GASGIANT_TEXTURE ,
  EFFECT_BILLBOARD_ATLAS , EFFECT_BILLBOARD
}
 
enum  MaterialQuality { HAS_ATMOSPHERE = 1 << 0 , HAS_ECLIPSES = 1 << 1 , HAS_HEAT_GRADIENT = 1 << 2 , HAS_OCTAVES = 1 << 15 }
 
enum  TextureFormat {
  TEXTURE_NONE , TEXTURE_RGBA_8888 , TEXTURE_RGB_888 , TEXTURE_LUMINANCE_ALPHA_88 ,
  TEXTURE_INTENSITY_8 , TEXTURE_DXT1 , TEXTURE_DXT5 , TEXTURE_DEPTH
}
 
enum  TextureSampleMode { LINEAR_CLAMP , NEAREST_CLAMP , LINEAR_REPEAT , NEAREST_REPEAT }
 
enum  TextureType { TEXTURE_2D , TEXTURE_CUBE_MAP , TEXTURE_2D_ARRAY }
 
enum  VertexAttrib : uint8_t {
  ATTRIB_NONE = 0 , ATTRIB_POSITION = (1u << 0) , ATTRIB_NORMAL = (1u << 1) , ATTRIB_DIFFUSE = (1u << 2) ,
  ATTRIB_UV0 = (1u << 3) , ATTRIB_TANGENT = (1u << 5) , ATTRIB_POSITION2D = (1u << 7)
}
 
enum  VertexAttribFormat : uint8_t {
  ATTRIB_FORMAT_NONE = 0 , ATTRIB_FORMAT_FLOAT2 , ATTRIB_FORMAT_FLOAT3 , ATTRIB_FORMAT_FLOAT4 ,
  ATTRIB_FORMAT_UBYTE4
}
 
enum  ConstantDataFormat : uint8_t {
  DATA_FORMAT_NONE = 0 , DATA_FORMAT_INT , DATA_FORMAT_FLOAT , DATA_FORMAT_FLOAT3 ,
  DATA_FORMAT_FLOAT4 , DATA_FORMAT_MAT3 , DATA_FORMAT_MAT4
}
 
enum  BufferUsage { BUFFER_USAGE_STATIC , BUFFER_USAGE_DYNAMIC }
 
enum  BufferMapMode { BUFFER_MAP_NONE , BUFFER_MAP_WRITE , BUFFER_MAP_READ }
 
enum  IndexBufferSize { INDEX_BUFFER_16BIT , INDEX_BUFFER_32BIT }
 
enum  PrimitiveType {
  POINTS = 0 , LINE_SINGLE , LINE_LOOP , LINE_STRIP ,
  TRIANGLES , TRIANGLE_STRIP , TRIANGLE_FAN
}
 
enum  BlendMode : uint32_t {
  BLEND_SOLID , BLEND_ADDITIVE , BLEND_ALPHA , BLEND_ALPHA_ONE ,
  BLEND_ALPHA_PREMULT , BLEND_SET_ALPHA , BLEND_DEST_ALPHA
}
 
enum  FaceCullMode : uint32_t { CULL_BACK , CULL_FRONT , CULL_NONE }
 

Functions

const char * RendererNameFromType (const RendererType rType)
 
void RegisterRenderer (RendererType type, RendererCreateFunc fn)
 
int GetScreenWidth ()
 
int GetScreenHeight ()
 
float GetFov ()
 
void SetFov (float fov)
 
float GetFovFactor ()
 
vector3f ProjectToScreen (const Renderer *r, const vector3f &in)
 
vector3d ProjectToScreen (const Renderer *r, const vector3d &in)
 
RendererInit (Settings vs)
 
void Uninit ()
 
std::vector< VideoModeGetAvailableVideoModes ()
 
template<typename T >
vector3< T > ProjectToScreen (const vector3< T > &vcam, const matrix4x4< T > &proj, const ViewportExtents &vp)
 
bool operator== (const MaterialDescriptor &a, const MaterialDescriptor &b)
 
const char * gl_framebuffer_error_to_string (GLuint st)
 

Variables

MaterialvtxColorMaterial
 
const Uint32 MAX_ATTRIBS = 8
 

Detailed Description

A Vertex Buffer is created by filling out a description struct with desired vertex attributes and calling renderer->CreateVertexBuffer. Can be used in combination with IndexBuffer, for optimal rendering of complex geometry.

Call Map to write/read from the buffer, and Unmap to commit the changes. Buffers come in two usage flavors, static and dynamic.

Strictly avoid mapping a buffer for reading unless you have no choice, as it may be extremely slow, especially with static buffers.

Expansion possibilities: range-based Map

Typedef Documentation

◆ ProgramIterator

typedef std::vector<std::pair<MaterialDescriptor,OGL::Program*>>::const_iterator Graphics::ProgramIterator

◆ RendererCreateFunc

typedef Renderer *(* Graphics::RendererCreateFunc) (const Settings &vs)

Enumeration Type Documentation

◆ BlendMode

enum Graphics::BlendMode : uint32_t
Enumerator
BLEND_SOLID 
BLEND_ADDITIVE 
BLEND_ALPHA 
BLEND_ALPHA_ONE 
BLEND_ALPHA_PREMULT 
BLEND_SET_ALPHA 
BLEND_DEST_ALPHA 

◆ BufferMapMode

Enumerator
BUFFER_MAP_NONE 
BUFFER_MAP_WRITE 
BUFFER_MAP_READ 

◆ BufferUsage

Enumerator
BUFFER_USAGE_STATIC 
BUFFER_USAGE_DYNAMIC 

◆ ConstantDataFormat

Enumerator
DATA_FORMAT_NONE 
DATA_FORMAT_INT 
DATA_FORMAT_FLOAT 
DATA_FORMAT_FLOAT3 
DATA_FORMAT_FLOAT4 
DATA_FORMAT_MAT3 
DATA_FORMAT_MAT4 

◆ EffectType

Enumerator
EFFECT_DEFAULT 
EFFECT_VTXCOLOR 
EFFECT_UI 
EFFECT_STARFIELD 
EFFECT_PLANETRING 
EFFECT_GEOSPHERE_TERRAIN 
EFFECT_GEOSPHERE_TERRAIN_WITH_LAVA 
EFFECT_GEOSPHERE_TERRAIN_WITH_WATER 
EFFECT_GEOSPHERE_SKY 
EFFECT_GEOSPHERE_STAR 
EFFECT_GASSPHERE_TERRAIN 
EFFECT_FRESNEL_SPHERE 
EFFECT_SHIELD 
EFFECT_SKYBOX 
EFFECT_SPHEREIMPOSTOR 
EFFECT_GEN_GASGIANT_TEXTURE 
EFFECT_BILLBOARD_ATLAS 
EFFECT_BILLBOARD 

◆ FaceCullMode

enum Graphics::FaceCullMode : uint32_t
Enumerator
CULL_BACK 
CULL_FRONT 
CULL_NONE 

◆ IndexBufferSize

Enumerator
INDEX_BUFFER_16BIT 
INDEX_BUFFER_32BIT 

◆ MaterialQuality

Enumerator
HAS_ATMOSPHERE 
HAS_ECLIPSES 
HAS_HEAT_GRADIENT 
HAS_OCTAVES 

◆ PrimitiveType

Enumerator
POINTS 
LINE_SINGLE 
LINE_LOOP 
LINE_STRIP 
TRIANGLES 
TRIANGLE_STRIP 
TRIANGLE_FAN 

◆ RendererType

Enumerator
RENDERER_DUMMY 
RENDERER_OPENGL_3x 
MAX_RENDERER_TYPE 

◆ TextureFormat

Enumerator
TEXTURE_NONE 
TEXTURE_RGBA_8888 
TEXTURE_RGB_888 
TEXTURE_LUMINANCE_ALPHA_88 
TEXTURE_INTENSITY_8 
TEXTURE_DXT1 
TEXTURE_DXT5 
TEXTURE_DEPTH 

◆ TextureSampleMode

Enumerator
LINEAR_CLAMP 
NEAREST_CLAMP 
LINEAR_REPEAT 
NEAREST_REPEAT 

◆ TextureType

Enumerator
TEXTURE_2D 
TEXTURE_CUBE_MAP 
TEXTURE_2D_ARRAY 

◆ VertexAttrib

enum Graphics::VertexAttrib : uint8_t
Enumerator
ATTRIB_NONE 
ATTRIB_POSITION 
ATTRIB_NORMAL 
ATTRIB_DIFFUSE 
ATTRIB_UV0 
ATTRIB_TANGENT 
ATTRIB_POSITION2D 

◆ VertexAttribFormat

Enumerator
ATTRIB_FORMAT_NONE 
ATTRIB_FORMAT_FLOAT2 
ATTRIB_FORMAT_FLOAT3 
ATTRIB_FORMAT_FLOAT4 
ATTRIB_FORMAT_UBYTE4 

Function Documentation

◆ GetAvailableVideoModes()

std::vector< VideoMode > Graphics::GetAvailableVideoModes ( )

◆ GetFov()

float Graphics::GetFov ( )

◆ GetFovFactor()

float Graphics::GetFovFactor ( )

◆ GetScreenHeight()

int Graphics::GetScreenHeight ( )

◆ GetScreenWidth()

int Graphics::GetScreenWidth ( )

◆ gl_framebuffer_error_to_string()

const char * Graphics::gl_framebuffer_error_to_string ( GLuint  st)

◆ Init()

Renderer * Graphics::Init ( Settings  vs)
Here is the call graph for this function:

◆ operator==()

bool Graphics::operator== ( const MaterialDescriptor a,
const MaterialDescriptor b 
)

◆ ProjectToScreen() [1/3]

vector3d Graphics::ProjectToScreen ( const Renderer r,
const vector3d in 
)
Here is the call graph for this function:

◆ ProjectToScreen() [2/3]

vector3f Graphics::ProjectToScreen ( const Renderer r,
const vector3f in 
)
Here is the call graph for this function:

◆ ProjectToScreen() [3/3]

template<typename T >
vector3< T > Graphics::ProjectToScreen ( const vector3< T > &  vcam,
const matrix4x4< T > &  proj,
const ViewportExtents vp 
)

◆ RegisterRenderer()

void Graphics::RegisterRenderer ( RendererType  type,
RendererCreateFunc  fn 
)

◆ RendererNameFromType()

const char * Graphics::RendererNameFromType ( const RendererType  rType)

◆ SetFov()

void Graphics::SetFov ( float  fov)
Here is the call graph for this function:

◆ Uninit()

void Graphics::Uninit ( )

Variable Documentation

◆ MAX_ATTRIBS

const Uint32 Graphics::MAX_ATTRIBS = 8

◆ vtxColorMaterial

Material * Graphics::vtxColorMaterial