Rasterfarm-SDK
Loading...
Searching...
No Matches
implementation.h File Reference
#include "utils.h"
#include "types.h"
#include "vector.h"
#include <GLES3/gl3.h>
#include <GLES3/gl3ext.h>

Classes

class  Implementation
 

Typedefs

typedef UnorderedSet< PipelineStateStateUnorderedSet
 
typedef UnorderedSet< GLenum > GLStateUnorderedSet
 
typedef Handle UniformBufferHandle
 
typedef Handle VertexBufferHandle
 
typedef Handle VertexArrayHandle
 
typedef Handle TextureHandle
 
typedef Handle FrameBufferHandle
 
typedef Handle RenderBufferHandle
 
typedef TextureFilterSetting TextureFilterHandle
 
typedef Handle ShaderHandle
 
typedef Handle ProgramHandle
 

Enumerations

enum  DrawPrimitive {
  TRIANGLES = GL_TRIANGLES ,
  TRIANGLE_FAN = GL_TRIANGLE_FAN ,
  TRIANGLE_STRIP = GL_TRIANGLE_STRIP ,
  LINES = GL_LINES ,
  LINE_LOOP = GL_LINE_LOOP ,
  LINE_STRIP = GL_LINE_STRIP ,
  POINTS = GL_POINTS
}
 
enum  DrawUsageHint {
  STATIC = GL_STATIC_DRAW ,
  DYNAMIC = GL_DYNAMIC_DRAW ,
  STREAM = GL_STREAM_DRAW
}
 
enum  PipelineState {
  STENCIL_TEST = GL_STENCIL_TEST ,
  DEPTH_TEST = GL_DEPTH_TEST ,
  SCISSOR_TEST = GL_SCISSOR_TEST ,
  COLOR_BLEND = GL_BLEND ,
  CULL_FACE = GL_CULL_FACE ,
  DITHER_COLOR = GL_DITHER ,
  POLYGON_OFFSET_FILL = GL_POLYGON_OFFSET_FILL ,
  RASTERIZER_DISCARD = GL_RASTERIZER_DISCARD ,
  SAMPLE_ALPHA_TO_COVERAGE = GL_SAMPLE_ALPHA_TO_COVERAGE ,
  SAMPLE_COVERAGE = GL_SAMPLE_COVERAGE ,
  ORIENT_PRIMITIVES_CW = GL_CW ,
  DEPTH_WRITE = GL_DEPTH_WRITEMASK
}
 
enum  CullFace {
  CULL_BACK_FACE = GL_BACK ,
  CULL_FRONT_FACE = GL_FRONT
}
 
enum  TextureType {
  QUAD_MAP = GL_TEXTURE_2D ,
  CUBE_MAP = GL_TEXTURE_CUBE_MAP
}
 
enum  ShaderType {
  VERTEX_SHADER = GL_VERTEX_SHADER ,
  FRAGMENT_SHADER = GL_FRAGMENT_SHADER
}
 
enum  : uint {
  BASE_FRAMEBUFFER_HANDLE = 0 ,
  INVALID_TEXTURE = INVALID_HANDLE
}
 
enum  TextureParameter {
  MINIFY_FILTER = GL_TEXTURE_MIN_FILTER ,
  MAGNIFY_FILTER = GL_TEXTURE_MAG_FILTER ,
  WRAP_S = GL_TEXTURE_WRAP_S ,
  WRAP_T = GL_TEXTURE_WRAP_T
}
 
enum  TextureWrap {
  CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE ,
  REPEAT = GL_REPEAT ,
  MIRRORED_REPEAT = GL_MIRRORED_REPEAT
}
 
enum  TextureFilterSetting {
  NEAREST = GL_NEAREST ,
  LINEAR = GL_LINEAR ,
  NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST ,
  LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST ,
  NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR ,
  LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR
}
 
enum  PixelFormat {
  UNDEFINED = 0 ,
  ALPHA = GL_ALPHA ,
  LUMINANCE = GL_LUMINANCE ,
  LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA ,
  RGB = GL_RGB ,
  RGBA = GL_RGBA ,
  BGRA = 0x80E1 ,
  DEPTH = GL_DEPTH_COMPONENT ,
  DEPTH_16 = GL_DEPTH_COMPONENT16 ,
  DEPTH_24 = GL_DEPTH_COMPONENT24 ,
  DEPTH_32 = GL_DEPTH_COMPONENT32F
}
 
enum  BufferType {
  BYTE = GL_BYTE ,
  UNSIGNED_BYTE = GL_UNSIGNED_BYTE ,
  SHORT = GL_SHORT ,
  UNSIGNED_SHORT = GL_UNSIGNED_SHORT ,
  UNSIGNED_SHORT_5_6_5 = GL_UNSIGNED_SHORT_5_6_5 ,
  UNSIGNED_SHORT_5_5_5_1 = GL_UNSIGNED_SHORT_5_5_5_1 ,
  UNSIGNED_SHORT_4_4_4_4 = GL_UNSIGNED_SHORT_4_4_4_4 ,
  INT = GL_INT ,
  UNSIGNED_INT = GL_UNSIGNED_INT ,
  FLOAT = GL_FLOAT ,
  FIXED = GL_FIXED
}
 
enum  ShaderBufferType : uint {
  VERTEX = GL_ARRAY_BUFFER ,
  INDEX = GL_ELEMENT_ARRAY_BUFFER
}
 
enum  UniformDescriptorType
 
enum  TextureCubeFace {
  POSITIVE_X = GL_TEXTURE_CUBE_MAP_POSITIVE_X ,
  NEGATIVE_X = GL_TEXTURE_CUBE_MAP_NEGATIVE_X ,
  POSITIVE_Y = GL_TEXTURE_CUBE_MAP_POSITIVE_Y ,
  NEGATIVE_Y = GL_TEXTURE_CUBE_MAP_NEGATIVE_Y ,
  POSITIVE_Z = GL_TEXTURE_CUBE_MAP_POSITIVE_Z ,
  NEGATIVE_Z = GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
}
 
enum  VertexOrientation {
  CLOCKWISE = GL_CW ,
  COUNTERCLOCKWISE = GL_CCW
}
 
enum  TextureUnit {
  TEXTURE_UNIT_BASE = GL_TEXTURE0 ,
  INVALID_TEXTURE_UNIT = std::numeric_limits< uint >::max()
}
 
enum  BlendFactor {
  BLEND_ZERO = GL_ZERO ,
  BLEND_ONE = GL_ONE ,
  BLEND_SRC_COLOR = GL_SRC_COLOR ,
  BLEND_ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR ,
  BLEND_DST_COLOR = GL_DST_COLOR ,
  BLEND_ONE_MINUS_DST_COLOR = GL_ONE_MINUS_DST_COLOR ,
  BLEND_SRC_ALPHA = GL_SRC_ALPHA ,
  BLEND_ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA
}
 
enum  RenderBufferBit : uint {
  COLOR_BUFFER = GL_COLOR_BUFFER_BIT ,
  DEPTH_BUFFER = GL_DEPTH_BUFFER_BIT ,
  STENCIL_BUFFER = GL_STENCIL_BUFFER_BIT
}
 
enum  StencilOperation {
  STENCIL_OPERATION_KEEP = GL_KEEP ,
  STENCIL_OPERATION_ZERO = GL_ZERO ,
  STENCIL_OPERATION_REPLACE = GL_REPLACE ,
  STENCIL_OPERATION_INC_AND_CLAMP = GL_INCR ,
  STENCIL_OPERATION_DEC_AND_CLAMP = GL_DECR ,
  STENCIL_OPERATION_INVERT = GL_INVERT ,
  STENCIL_OPERATION_INC_AND_WRAP = GL_INCR_WRAP ,
  STENCIL_OPERATION_DEC_AND_WRAP = GL_DECR_WRAP
}
 
enum  CompareOperation {
  COMPARE_COMPARISON_NEVER = GL_NEVER ,
  COMPARE_COMPARISON_LESS = GL_LESS ,
  COMPARE_COMPARISON_EQUAL = GL_EQUAL ,
  COMPARE_COMPARISON_LESS_OR_EQUAL = GL_LEQUAL ,
  COMPARE_COMPARISON_GREATER = GL_GREATER ,
  COMPARE_COMPARISON_NOT_EQUAL = GL_NOTEQUAL ,
  COMPARE_COMPARISON_GREATER_OR_EQUAL = GL_GEQUAL ,
  STENCIL_COMPARISON_ALWAYS = GL_ALWAYS
}
 
enum  OutputAttachment {
  COLOR_ATTACHMENT = GL_COLOR_ATTACHMENT0 ,
  DEPTH_ATTACHMENT = GL_DEPTH_ATTACHMENT ,
  STENCIL_ATTACHMENT = GL_STENCIL_ATTACHMENT
}
 
enum  BufferTarget {
  RENDER_BUFFER = GL_RENDERBUFFER ,
  FRAME_BUFFER = GL_FRAMEBUFFER
}
 

Typedef Documentation

◆ FrameBufferHandle

typedef Handle FrameBufferHandle

◆ GLStateUnorderedSet

typedef UnorderedSet< GLenum > GLStateUnorderedSet

◆ ProgramHandle

typedef Handle ProgramHandle

◆ RenderBufferHandle

typedef Handle RenderBufferHandle

◆ ShaderHandle

typedef Handle ShaderHandle

◆ StateUnorderedSet

◆ TextureFilterHandle

◆ TextureHandle

typedef Handle TextureHandle

◆ UniformBufferHandle

typedef Handle UniformBufferHandle

Supported in GLES-3

◆ VertexArrayHandle

typedef Handle VertexArrayHandle

◆ VertexBufferHandle

typedef Handle VertexBufferHandle

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : uint
Enumerator
BASE_FRAMEBUFFER_HANDLE 
INVALID_TEXTURE 

◆ BlendFactor

Enumerator
BLEND_ZERO 
BLEND_ONE 
BLEND_SRC_COLOR 
BLEND_ONE_MINUS_SRC_COLOR 
BLEND_DST_COLOR 
BLEND_ONE_MINUS_DST_COLOR 
BLEND_SRC_ALPHA 
BLEND_ONE_MINUS_SRC_ALPHA 

◆ BufferTarget

Enumerator
RENDER_BUFFER 
FRAME_BUFFER 

◆ BufferType

enum BufferType
Enumerator
BYTE 
UNSIGNED_BYTE 
SHORT 
UNSIGNED_SHORT 
UNSIGNED_SHORT_5_6_5 
UNSIGNED_SHORT_5_5_5_1 
UNSIGNED_SHORT_4_4_4_4 
INT 
UNSIGNED_INT 
FLOAT 
FIXED 

◆ CompareOperation

Enumerator
COMPARE_COMPARISON_NEVER 
COMPARE_COMPARISON_LESS 
COMPARE_COMPARISON_EQUAL 
COMPARE_COMPARISON_LESS_OR_EQUAL 
COMPARE_COMPARISON_GREATER 
COMPARE_COMPARISON_NOT_EQUAL 
COMPARE_COMPARISON_GREATER_OR_EQUAL 
STENCIL_COMPARISON_ALWAYS 

◆ CullFace

enum CullFace
Enumerator
CULL_BACK_FACE 
CULL_FRONT_FACE 

◆ DrawPrimitive

Enumerator
TRIANGLES 
TRIANGLE_FAN 
TRIANGLE_STRIP 
LINES 
LINE_LOOP 
LINE_STRIP 
POINTS 

◆ DrawUsageHint

Enumerator
STATIC 
DYNAMIC 
STREAM 

◆ OutputAttachment

Enumerator
COLOR_ATTACHMENT 
DEPTH_ATTACHMENT 
STENCIL_ATTACHMENT 

◆ PipelineState

Enumerator
STENCIL_TEST 
DEPTH_TEST 
SCISSOR_TEST 
COLOR_BLEND 
CULL_FACE 
DITHER_COLOR 
POLYGON_OFFSET_FILL 
RASTERIZER_DISCARD 
SAMPLE_ALPHA_TO_COVERAGE 
SAMPLE_COVERAGE 
ORIENT_PRIMITIVES_CW 
DEPTH_WRITE 

◆ PixelFormat

Enumerator
UNDEFINED 
ALPHA 
LUMINANCE 
LUMINANCE_ALPHA 
RGB 
RGBA 
BGRA 
DEPTH 
DEPTH_16 
DEPTH_24 
DEPTH_32 

◆ RenderBufferBit

enum RenderBufferBit : uint
Enumerator
COLOR_BUFFER 
DEPTH_BUFFER 
STENCIL_BUFFER 

◆ ShaderBufferType

enum ShaderBufferType : uint
Enumerator
VERTEX 
INDEX 

◆ ShaderType

enum ShaderType
Enumerator
VERTEX_SHADER 
FRAGMENT_SHADER 

◆ StencilOperation

Enumerator
STENCIL_OPERATION_KEEP 
STENCIL_OPERATION_ZERO 
STENCIL_OPERATION_REPLACE 
STENCIL_OPERATION_INC_AND_CLAMP 
STENCIL_OPERATION_DEC_AND_CLAMP 
STENCIL_OPERATION_INVERT 
STENCIL_OPERATION_INC_AND_WRAP 
STENCIL_OPERATION_DEC_AND_WRAP 

◆ TextureCubeFace

Enumerator
POSITIVE_X 
NEGATIVE_X 
POSITIVE_Y 
NEGATIVE_Y 
POSITIVE_Z 
NEGATIVE_Z 

◆ TextureFilterSetting

Enumerator
NEAREST 
LINEAR 
NEAREST_MIPMAP_NEAREST 
LINEAR_MIPMAP_NEAREST 
NEAREST_MIPMAP_LINEAR 
LINEAR_MIPMAP_LINEAR 

◆ TextureParameter

Enumerator
MINIFY_FILTER 
MAGNIFY_FILTER 
WRAP_S 
WRAP_T 

◆ TextureType

Enumerator
QUAD_MAP 
CUBE_MAP 

◆ TextureUnit

Enumerator
TEXTURE_UNIT_BASE 
INVALID_TEXTURE_UNIT 

◆ TextureWrap

Enumerator
CLAMP_TO_EDGE 
REPEAT 
MIRRORED_REPEAT 

◆ UniformDescriptorType

◆ VertexOrientation

Enumerator
CLOCKWISE 
COUNTERCLOCKWISE