Fireworks Engine  v2.0
Lightweight Sandbox Game Engine using OpenGL for additional Customisation and Quick Prototyping
fireworks::graphics Namespace Reference

Classes

class  BatchRenderer2D
 Renders the renderables in a single draw call using batching. More...
 
class  BatchRenderer3D
 Renders the 3d renderables in a single draw call using batching. More...
 
class  Buffer
 Creates Vertex Buffers. More...
 
class  Camera2D
 The eye of the 2D world. More...
 
struct  Character
 Struct denoting the text character of the font. More...
 
struct  Font
 Engine specific font data type. More...
 
class  FrameBuffer
 Class to generate Frame Buffers. More...
 
class  FreeFlyCamera
 A free flying 3D camera. More...
 
class  Group
 Creates groups of renderables in a hierarchical relative fashion. More...
 
class  IndexBuffer
 Creates Index Buffers. More...
 
class  Label
 The label class to render text onto the screen. More...
 
class  Layer
 Creates a Layer to hold a collection of renderables. More...
 
class  Mesh
 The 3D mesh of a 3d renderable object. More...
 
class  Model
 A 3D model object loaded externally. More...
 
class  PerspectiveCamera
 A perspective camera to view objects in perspective projection. More...
 
class  Renderable2D
 The Class responsible for drawing the basic Renderable objects onto the screen. More...
 
class  Renderable3D
 The Class responsible for drawing the basic 3D Renderable objects onto the screen. More...
 
class  RenderBuffer
 Class to generate Render Buffers. More...
 
class  Renderer2D
 Forward declaration of the graphics::Renderable2D. More...
 
class  Renderer3D
 Forward declaration of the graphics::Renderable3D. More...
 
class  Scene3D
 The scene object that contains information about the 3d rendering and renderables objects. More...
 
class  Shader
 The class responsible for creating amazing shaders. More...
 
class  ShotRenderer2D
 Renders the renderables on a per draw call basis. More...
 
class  ShotRenderer3D
 Renders the 3D renderables on a per draw call basis. More...
 
class  Sprite
 The class responsible for drawing the Sprites in the scene. More...
 
struct  SubMesh
 A struct denoting the sub-meshes of a 3d Model. More...
 
class  Texture
 The class responsible for loading Textures. More...
 
struct  Transform
 The spacial orientation of an object in 3D space denoted by it's position, rotation and scale. More...
 
class  VertexArray
 Creates Vertex Array Object (VAOs). More...
 
struct  VertexData
 The structure of the Vertex Data. More...
 
struct  VertexData3D
 The vertex structure of a 3D primitive. More...
 
class  Window
 The class responsible for Window Creation. More...
 

Enumerations

enum  FFCamDirection {
  FFCamDirection::FORWARD, FFCamDirection::BACKWARD, LEFT, RIGHT,
  UP, DOWN, FFCamDirection::YAW_LEFT, FFCamDirection::YAW_RIGHT
}
 The direction of the free fly camera. More...
 
enum  Primitive2D { Primitive2D::Circle, Primitive2D::Triangle, Primitive2D::Quad }
 Different variations of primitives. More...
 
enum  Primitive3D {
  Primitive3D::Plane, Primitive3D::Cube, Primitive3D::UVSphere, Primitive3D::Cylinder,
  Primitive3D::Torus, Primitive3D::None
}
 Different types of 3D renderable primitive objects. More...
 
enum  SpriteAnimationType { SpriteAnimationType::LOOP, SpriteAnimationType::REVERSE, SpriteAnimationType::PING_PONG }
 The type of sprite sheet animation. More...
 
enum  Keys {
  UNKNOWN = GLFW_KEY_UNKNOWN, SPACE = GLFW_KEY_SPACE, APOSTROPHE = GLFW_KEY_APOSTROPHE, COMMA = GLFW_KEY_COMMA,
  MINUS = GLFW_KEY_MINUS, PERIOD = GLFW_KEY_PERIOD, SLASH = GLFW_KEY_SLASH, NUM0 = GLFW_KEY_0,
  NUM1 = GLFW_KEY_1, NUM2 = GLFW_KEY_2, NUM3 = GLFW_KEY_3, NUM4 = GLFW_KEY_4,
  NUM5 = GLFW_KEY_5, NUM6 = GLFW_KEY_6, NUM7 = GLFW_KEY_7, NUM8 = GLFW_KEY_8,
  NUM9 = GLFW_KEY_9, SEMICOLON = GLFW_KEY_SEMICOLON, EQUAL = GLFW_KEY_EQUAL, A = GLFW_KEY_A,
  B = GLFW_KEY_B, C = GLFW_KEY_C, D = GLFW_KEY_D, E = GLFW_KEY_E,
  F = GLFW_KEY_F, G = GLFW_KEY_G, H = GLFW_KEY_H, I = GLFW_KEY_I,
  J = GLFW_KEY_J, K = GLFW_KEY_K, L = GLFW_KEY_L, M = GLFW_KEY_M,
  N = GLFW_KEY_N, O = GLFW_KEY_O, P = GLFW_KEY_P, Q = GLFW_KEY_Q,
  R = GLFW_KEY_R, S = GLFW_KEY_S, T = GLFW_KEY_T, U = GLFW_KEY_U,
  V = GLFW_KEY_V, W = GLFW_KEY_W, X = GLFW_KEY_X, Y = GLFW_KEY_Y,
  Z = GLFW_KEY_Z, LEFT_BRACKET = GLFW_KEY_LEFT_BRACKET, BACKSLASH = GLFW_KEY_BACKSLASH, RIGHT_BRACKET = GLFW_KEY_RIGHT_BRACKET,
  GRAVE_ACCENT = GLFW_KEY_GRAVE_ACCENT, WORLD_1 = GLFW_KEY_WORLD_1, WORLD_2 = GLFW_KEY_WORLD_2, ESCAPE = GLFW_KEY_ESCAPE,
  ENTER = GLFW_KEY_ENTER, TAB = GLFW_KEY_TAB, BACKSPACE = GLFW_KEY_BACKSPACE, INSERT = GLFW_KEY_INSERT,
  DELETE = GLFW_KEY_DELETE, RIGHT = GLFW_KEY_RIGHT, RIGHT, LEFT = GLFW_KEY_LEFT,
  LEFT, DOWN = GLFW_KEY_DOWN, DOWN, UP = GLFW_KEY_UP,
  UP, PAGE_UP = GLFW_KEY_PAGE_UP, PAGE_DOWN = GLFW_KEY_PAGE_DOWN, HOME = GLFW_KEY_HOME,
  END = GLFW_KEY_END, CAPS_LOCK = GLFW_KEY_CAPS_LOCK, SCROLL_LOCK = GLFW_KEY_SCROLL_LOCK, NUM_LOCK = GLFW_KEY_NUM_LOCK,
  PRINT_SCREEN = GLFW_KEY_PRINT_SCREEN, PAUSE = GLFW_KEY_PAUSE, F1 = GLFW_KEY_F1, F2 = GLFW_KEY_F2,
  F3 = GLFW_KEY_F3, F4 = GLFW_KEY_F4, F5 = GLFW_KEY_F5, F6 = GLFW_KEY_F6,
  F7 = GLFW_KEY_F7, F8 = GLFW_KEY_F8, F9 = GLFW_KEY_F9, F10 = GLFW_KEY_F10,
  F11 = GLFW_KEY_F11, F12 = GLFW_KEY_F12, F13 = GLFW_KEY_F13, F14 = GLFW_KEY_F14,
  F15 = GLFW_KEY_F15, F16 = GLFW_KEY_F16, F17 = GLFW_KEY_F17, F18 = GLFW_KEY_F18,
  F19 = GLFW_KEY_F19, F20 = GLFW_KEY_F20, F21 = GLFW_KEY_F21, F22 = GLFW_KEY_F22,
  F23 = GLFW_KEY_F23, F24 = GLFW_KEY_F24, F25 = GLFW_KEY_F25, KP_0 = GLFW_KEY_KP_0,
  KP_1 = GLFW_KEY_KP_1, KP_2 = GLFW_KEY_KP_2, KP_3 = GLFW_KEY_KP_3, KP_4 = GLFW_KEY_KP_4,
  KP_5 = GLFW_KEY_KP_5, KP_6 = GLFW_KEY_KP_6, KP_7 = GLFW_KEY_KP_7, KP_8 = GLFW_KEY_KP_8,
  KP_9 = GLFW_KEY_KP_9, KP_DECIMAL = GLFW_KEY_KP_DECIMAL, KP_DIVIDE = GLFW_KEY_KP_DIVIDE, KP_MULTIPLY = GLFW_KEY_KP_MULTIPLY,
  KP_SUBTRACT = GLFW_KEY_KP_SUBTRACT, KP_ADD = GLFW_KEY_KP_ADD, KP_ENTER = GLFW_KEY_KP_ENTER, KP_EQUAL = GLFW_KEY_KP_EQUAL,
  LEFT_SHIFT = GLFW_KEY_LEFT_SHIFT, LEFT_CONTROL = GLFW_KEY_LEFT_CONTROL, LEFT_ALT = GLFW_KEY_LEFT_ALT, LEFT_SUPER = GLFW_KEY_LEFT_SUPER,
  RIGHT_SHIFT = GLFW_KEY_RIGHT_SHIFT, RIGHT_CONTROL = GLFW_KEY_RIGHT_CONTROL, RIGHT_ALT = GLFW_KEY_RIGHT_ALT, RIGHT_SUPER = GLFW_KEY_RIGHT_SUPER,
  MENU = GLFW_KEY_MENU, MOUSE_BUTTON_1 = GLFW_MOUSE_BUTTON_1, MOUSE_BUTTON_2 = GLFW_MOUSE_BUTTON_2, MOUSE_BUTTON_3 = GLFW_MOUSE_BUTTON_3,
  MOUSE_BUTTON_4 = GLFW_MOUSE_BUTTON_4, MOUSE_BUTTON_5 = GLFW_MOUSE_BUTTON_5, MOUSE_BUTTON_6 = GLFW_MOUSE_BUTTON_6, MOUSE_BUTTON_7 = GLFW_MOUSE_BUTTON_7,
  MOUSE_BUTTON_8 = GLFW_MOUSE_BUTTON_8, MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_LAST, MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_LEFT, MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_RIGHT,
  MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_MIDDLE
}
 All Input Buttons mapped to a more understandable mapping from GLFW. More...
 

Functions

void glfw_initialisation_error (int error, const char *description)
 Input related GLFW callback functions. More...
 
void key_callback (GLFWwindow *window, int key, int scancode, int action, int mods)
 
void window_resize_callback (GLFWwindow *window, int width, int height)
 
void mouse_button_callback (GLFWwindow *window, int button, int action, int mods)
 
void mouse_position_callback (GLFWwindow *window, double xpos, double ypos)
 

Enumeration Type Documentation

◆ FFCamDirection

The direction of the free fly camera.

Enumerator
FORWARD 
BACKWARD 
LEFT 
RIGHT 
UP 
DOWN 
YAW_LEFT 
YAW_RIGHT 

◆ Keys

All Input Buttons mapped to a more understandable mapping from GLFW.

Enumerator
UNKNOWN 
SPACE 
APOSTROPHE 
COMMA 
MINUS 
PERIOD 
SLASH 
NUM0 
NUM1 
NUM2 
NUM3 
NUM4 
NUM5 
NUM6 
NUM7 
NUM8 
NUM9 
SEMICOLON 
EQUAL 
LEFT_BRACKET 
BACKSLASH 
RIGHT_BRACKET 
GRAVE_ACCENT 
WORLD_1 
WORLD_2 
ESCAPE 
ENTER 
TAB 
BACKSPACE 
INSERT 
DELETE 
RIGHT 
RIGHT 
LEFT 
LEFT 
DOWN 
DOWN 
UP 
UP 
PAGE_UP 
PAGE_DOWN 
HOME 
END 
CAPS_LOCK 
SCROLL_LOCK 
NUM_LOCK 
PRINT_SCREEN 
PAUSE 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
F13 
F14 
F15 
F16 
F17 
F18 
F19 
F20 
F21 
F22 
F23 
F24 
F25 
KP_0 
KP_1 
KP_2 
KP_3 
KP_4 
KP_5 
KP_6 
KP_7 
KP_8 
KP_9 
KP_DECIMAL 
KP_DIVIDE 
KP_MULTIPLY 
KP_SUBTRACT 
KP_ADD 
KP_ENTER 
KP_EQUAL 
LEFT_SHIFT 
LEFT_CONTROL 
LEFT_ALT 
LEFT_SUPER 
RIGHT_SHIFT 
RIGHT_CONTROL 
RIGHT_ALT 
RIGHT_SUPER 
MENU 
MOUSE_BUTTON_1 
MOUSE_BUTTON_2 
MOUSE_BUTTON_3 
MOUSE_BUTTON_4 
MOUSE_BUTTON_5 
MOUSE_BUTTON_6 
MOUSE_BUTTON_7 
MOUSE_BUTTON_8 
MOUSE_BUTTON_LAST 
MOUSE_BUTTON_LEFT 
MOUSE_BUTTON_RIGHT 
MOUSE_BUTTON_MIDDLE 

◆ Primitive2D

Different variations of primitives.

Enumerator
Circle 
Triangle 
Quad 

◆ Primitive3D

Different types of 3D renderable primitive objects.

Enumerator
Plane 
Cube 
UVSphere 
Cylinder 
Torus 
None 

◆ SpriteAnimationType

The type of sprite sheet animation.

Enumerator
LOOP 
REVERSE 
PING_PONG 

Function Documentation

◆ glfw_initialisation_error()

static void fireworks::graphics::glfw_initialisation_error ( int  error,
const char *  description 
)

Input related GLFW callback functions.

◆ key_callback()

static void fireworks::graphics::key_callback ( GLFWwindow *  window,
int  key,
int  scancode,
int  action,
int  mods 
)
Parameters
windowThe window that received the event
keyThe keyboard key that was pressed or released
scancodeThe system-specific scancode of the key
actionGLFW_PRESS, GLFW_RELEASE or GLFW_REPEAT
modsBit field describing which modifier keys were held down

◆ mouse_button_callback()

static void fireworks::graphics::mouse_button_callback ( GLFWwindow *  window,
int  button,
int  action,
int  mods 
)
Parameters
windowThe window that received the event
buttonThe mouse button that was pressed or released
actionGLFW_PRESS, GLFW_RELEASE or GLFW_REPEAT
modsBit field describing which modifier keys were held down

◆ mouse_position_callback()

static void fireworks::graphics::mouse_position_callback ( GLFWwindow *  window,
double  xpos,
double  ypos 
)
Parameters
windowThe window that received the event
xposThe new cursor x-coordinate, relative to the left edge of the content area
yposThe new cursor y-coordinate, relative to the top edge of the content area

◆ window_resize_callback()

static void fireworks::graphics::window_resize_callback ( GLFWwindow *  window,
int  width,
int  height 
)
Parameters
windowThe window that received the event
widthThe new width of the window
heightThe new height of the window