ice_engine::graphicsΒΆ

namespace ice_engine::graphics

Typedefs

typedef int32 KeyCode

Enums

enum State

Values:

enumerator RELEASED
enumerator PRESSED
enum EventType

Values:

enumerator UNKNOWN
enumerator QUIT
enumerator WINDOWEVENT
enumerator TEXTINPUT
enumerator KEYDOWN
enumerator KEYUP
enumerator MOUSEMOTION
enumerator MOUSEBUTTONDOWN
enumerator MOUSEBUTTONUP
enumerator MOUSEWHEEL
enum ScanCode

Values:

enumerator SCANCODE_UNKNOWN
enumerator SCANCODE_A
enumerator SCANCODE_B
enumerator SCANCODE_C
enumerator SCANCODE_D
enumerator SCANCODE_E
enumerator SCANCODE_F
enumerator SCANCODE_G
enumerator SCANCODE_H
enumerator SCANCODE_I
enumerator SCANCODE_J
enumerator SCANCODE_K
enumerator SCANCODE_L
enumerator SCANCODE_M
enumerator SCANCODE_N
enumerator SCANCODE_O
enumerator SCANCODE_P
enumerator SCANCODE_Q
enumerator SCANCODE_R
enumerator SCANCODE_S
enumerator SCANCODE_T
enumerator SCANCODE_U
enumerator SCANCODE_V
enumerator SCANCODE_W
enumerator SCANCODE_X
enumerator SCANCODE_Y
enumerator SCANCODE_Z
enumerator SCANCODE_1
enumerator SCANCODE_2
enumerator SCANCODE_3
enumerator SCANCODE_4
enumerator SCANCODE_5
enumerator SCANCODE_6
enumerator SCANCODE_7
enumerator SCANCODE_8
enumerator SCANCODE_9
enumerator SCANCODE_0
enumerator SCANCODE_RETURN
enumerator SCANCODE_ESCAPE
enumerator SCANCODE_BACKSPACE
enumerator SCANCODE_TAB
enumerator SCANCODE_SPACE
enumerator SCANCODE_MINUS
enumerator SCANCODE_EQUALS
enumerator SCANCODE_LEFTBRACKET
enumerator SCANCODE_RIGHTBRACKET
enumerator SCANCODE_BACKSLASH
enumerator SCANCODE_NONUSHASH
enumerator SCANCODE_SEMICOLON
enumerator SCANCODE_APOSTROPHE
enumerator SCANCODE_GRAVE
enumerator SCANCODE_COMMA
enumerator SCANCODE_PERIOD
enumerator SCANCODE_SLASH
enumerator SCANCODE_CAPSLOCK
enumerator SCANCODE_F1
enumerator SCANCODE_F2
enumerator SCANCODE_F3
enumerator SCANCODE_F4
enumerator SCANCODE_F5
enumerator SCANCODE_F6
enumerator SCANCODE_F7
enumerator SCANCODE_F8
enumerator SCANCODE_F9
enumerator SCANCODE_F10
enumerator SCANCODE_F11
enumerator SCANCODE_F12
enumerator SCANCODE_PRINTSCREEN
enumerator SCANCODE_SCROLLLOCK
enumerator SCANCODE_PAUSE
enumerator SCANCODE_INSERT
enumerator SCANCODE_HOME
enumerator SCANCODE_PAGEUP
enumerator SCANCODE_DELETE
enumerator SCANCODE_END
enumerator SCANCODE_PAGEDOWN
enumerator SCANCODE_RIGHT
enumerator SCANCODE_LEFT
enumerator SCANCODE_DOWN
enumerator SCANCODE_UP
enumerator SCANCODE_NUMLOCKCLEAR
enumerator SCANCODE_KP_DIVIDE
enumerator SCANCODE_KP_MULTIPLY
enumerator SCANCODE_KP_MINUS
enumerator SCANCODE_KP_PLUS
enumerator SCANCODE_KP_ENTER
enumerator SCANCODE_KP_1
enumerator SCANCODE_KP_2
enumerator SCANCODE_KP_3
enumerator SCANCODE_KP_4
enumerator SCANCODE_KP_5
enumerator SCANCODE_KP_6
enumerator SCANCODE_KP_7
enumerator SCANCODE_KP_8
enumerator SCANCODE_KP_9
enumerator SCANCODE_KP_0
enumerator SCANCODE_KP_PERIOD
enumerator SCANCODE_NONUSBACKSLASH
enumerator SCANCODE_APPLICATION
enumerator SCANCODE_POWER
enumerator SCANCODE_KP_EQUALS
enumerator SCANCODE_F13
enumerator SCANCODE_F14
enumerator SCANCODE_F15
enumerator SCANCODE_F16
enumerator SCANCODE_F17
enumerator SCANCODE_F18
enumerator SCANCODE_F19
enumerator SCANCODE_F20
enumerator SCANCODE_F21
enumerator SCANCODE_F22
enumerator SCANCODE_F23
enumerator SCANCODE_F24
enumerator SCANCODE_EXECUTE
enumerator SCANCODE_HELP
enumerator SCANCODE_MENU
enumerator SCANCODE_SELECT
enumerator SCANCODE_STOP
enumerator SCANCODE_AGAIN
enumerator SCANCODE_UNDO
enumerator SCANCODE_CUT
enumerator SCANCODE_COPY
enumerator SCANCODE_PASTE
enumerator SCANCODE_FIND
enumerator SCANCODE_MUTE
enumerator SCANCODE_VOLUMEUP
enumerator SCANCODE_VOLUMEDOWN
enumerator SCANCODE_KP_COMMA
enumerator SCANCODE_KP_EQUALSAS400
enumerator SCANCODE_INTERNATIONAL1
enumerator SCANCODE_INTERNATIONAL2
enumerator SCANCODE_INTERNATIONAL3
enumerator SCANCODE_INTERNATIONAL4
enumerator SCANCODE_INTERNATIONAL5
enumerator SCANCODE_INTERNATIONAL6
enumerator SCANCODE_INTERNATIONAL7
enumerator SCANCODE_INTERNATIONAL8
enumerator SCANCODE_INTERNATIONAL9
enumerator SCANCODE_LANG1
enumerator SCANCODE_LANG2
enumerator SCANCODE_LANG3
enumerator SCANCODE_LANG4
enumerator SCANCODE_LANG5
enumerator SCANCODE_LANG6
enumerator SCANCODE_LANG7
enumerator SCANCODE_LANG8
enumerator SCANCODE_LANG9
enumerator SCANCODE_ALTERASE
enumerator SCANCODE_SYSREQ
enumerator SCANCODE_CANCEL
enumerator SCANCODE_CLEAR
enumerator SCANCODE_PRIOR
enumerator SCANCODE_RETURN2
enumerator SCANCODE_SEPARATOR
enumerator SCANCODE_OUT
enumerator SCANCODE_OPER
enumerator SCANCODE_CLEARAGAIN
enumerator SCANCODE_CRSEL
enumerator SCANCODE_EXSEL
enumerator SCANCODE_KP_00
enumerator SCANCODE_KP_000
enumerator SCANCODE_THOUSANDSSEPARATOR
enumerator SCANCODE_DECIMALSEPARATOR
enumerator SCANCODE_CURRENCYUNIT
enumerator SCANCODE_CURRENCYSUBUNIT
enumerator SCANCODE_KP_LEFTPAREN
enumerator SCANCODE_KP_RIGHTPAREN
enumerator SCANCODE_KP_LEFTBRACE
enumerator SCANCODE_KP_RIGHTBRACE
enumerator SCANCODE_KP_TAB
enumerator SCANCODE_KP_BACKSPACE
enumerator SCANCODE_KP_A
enumerator SCANCODE_KP_B
enumerator SCANCODE_KP_C
enumerator SCANCODE_KP_D
enumerator SCANCODE_KP_E
enumerator SCANCODE_KP_F
enumerator SCANCODE_KP_XOR
enumerator SCANCODE_KP_POWER
enumerator SCANCODE_KP_PERCENT
enumerator SCANCODE_KP_LESS
enumerator SCANCODE_KP_GREATER
enumerator SCANCODE_KP_AMPERSAND
enumerator SCANCODE_KP_DBLAMPERSAND
enumerator SCANCODE_KP_VERTICALBAR
enumerator SCANCODE_KP_DBLVERTICALBAR
enumerator SCANCODE_KP_COLON
enumerator SCANCODE_KP_HASH
enumerator SCANCODE_KP_SPACE
enumerator SCANCODE_KP_AT
enumerator SCANCODE_KP_EXCLAM
enumerator SCANCODE_KP_MEMSTORE
enumerator SCANCODE_KP_MEMRECALL
enumerator SCANCODE_KP_MEMCLEAR
enumerator SCANCODE_KP_MEMADD
enumerator SCANCODE_KP_MEMSUBTRACT
enumerator SCANCODE_KP_MEMMULTIPLY
enumerator SCANCODE_KP_MEMDIVIDE
enumerator SCANCODE_KP_PLUSMINUS
enumerator SCANCODE_KP_CLEAR
enumerator SCANCODE_KP_CLEARENTRY
enumerator SCANCODE_KP_BINARY
enumerator SCANCODE_KP_OCTAL
enumerator SCANCODE_KP_DECIMAL
enumerator SCANCODE_KP_HEXADECIMAL
enumerator SCANCODE_LCTRL
enumerator SCANCODE_LSHIFT
enumerator SCANCODE_LALT
enumerator SCANCODE_LGUI
enumerator SCANCODE_RCTRL
enumerator SCANCODE_RSHIFT
enumerator SCANCODE_RALT
enumerator SCANCODE_RGUI
enumerator SCANCODE_MODE
enumerator SCANCODE_AUDIONEXT
enumerator SCANCODE_AUDIOPREV
enumerator SCANCODE_AUDIOSTOP
enumerator SCANCODE_AUDIOPLAY
enumerator SCANCODE_AUDIOMUTE
enumerator SCANCODE_MEDIASELECT
enumerator SCANCODE_WWW
enumerator SCANCODE_MAIL
enumerator SCANCODE_CALCULATOR
enumerator SCANCODE_COMPUTER
enumerator SCANCODE_AC_SEARCH
enumerator SCANCODE_AC_HOME
enumerator SCANCODE_AC_BACK
enumerator SCANCODE_AC_FORWARD
enumerator SCANCODE_AC_STOP
enumerator SCANCODE_AC_REFRESH
enumerator SCANCODE_AC_BOOKMARKS
enumerator SCANCODE_BRIGHTNESSDOWN
enumerator SCANCODE_BRIGHTNESSUP
enumerator SCANCODE_DISPLAYSWITCH
enumerator SCANCODE_KBDILLUMTOGGLE
enumerator SCANCODE_KBDILLUMDOWN
enumerator SCANCODE_KBDILLUMUP
enumerator SCANCODE_EJECT
enumerator SCANCODE_SLEEP
enumerator SCANCODE_APP1
enumerator SCANCODE_APP2
enum [anonymous]

Values:

enumerator KEY_UNKNOWN
enumerator KEY_RETURN
enumerator KEY_ESCAPE
enumerator KEY_BACKSPACE
enumerator KEY_TAB
enumerator KEY_SPACE
enumerator KEY_EXCLAIM
enumerator KEY_QUOTEDBL
enumerator KEY_HASH
enumerator KEY_PERCENT
enumerator KEY_DOLLAR
enumerator KEY_AMPERSAND
enumerator KEY_QUOTE
enumerator KEY_LEFTPAREN
enumerator KEY_RIGHTPAREN
enumerator KEY_ASTERISK
enumerator KEY_PLUS
enumerator KEY_COMMA
enumerator KEY_MINUS
enumerator KEY_PERIOD
enumerator KEY_SLASH
enumerator KEY_0
enumerator KEY_1
enumerator KEY_2
enumerator KEY_3
enumerator KEY_4
enumerator KEY_5
enumerator KEY_6
enumerator KEY_7
enumerator KEY_8
enumerator KEY_9
enumerator KEY_COLON
enumerator KEY_SEMICOLON
enumerator KEY_LESS
enumerator KEY_EQUALS
enumerator KEY_GREATER
enumerator KEY_QUESTION
enumerator KEY_AT
enumerator KEY_LEFTBRACKET
enumerator KEY_BACKSLASH
enumerator KEY_RIGHTBRACKET
enumerator KEY_CARET
enumerator KEY_UNDERSCORE
enumerator KEY_BACKQUOTE
enumerator KEY_a
enumerator KEY_b
enumerator KEY_c
enumerator KEY_d
enumerator KEY_e
enumerator KEY_f
enumerator KEY_g
enumerator KEY_h
enumerator KEY_i
enumerator KEY_j
enumerator KEY_k
enumerator KEY_l
enumerator KEY_m
enumerator KEY_n
enumerator KEY_o
enumerator KEY_p
enumerator KEY_q
enumerator KEY_r
enumerator KEY_s
enumerator KEY_t
enumerator KEY_u
enumerator KEY_v
enumerator KEY_w
enumerator KEY_x
enumerator KEY_y
enumerator KEY_z
enumerator KEY_CAPSLOCK
enumerator KEY_F1
enumerator KEY_F2
enumerator KEY_F3
enumerator KEY_F4
enumerator KEY_F5
enumerator KEY_F6
enumerator KEY_F7
enumerator KEY_F8
enumerator KEY_F9
enumerator KEY_F10
enumerator KEY_F11
enumerator KEY_F12
enumerator KEY_PRINTSCREEN
enumerator KEY_SCROLLLOCK
enumerator KEY_PAUSE
enumerator KEY_INSERT
enumerator KEY_HOME
enumerator KEY_PAGEUP
enumerator KEY_DELETE
enumerator KEY_END
enumerator KEY_PAGEDOWN
enumerator KEY_RIGHT
enumerator KEY_LEFT
enumerator KEY_DOWN
enumerator KEY_UP
enumerator KEY_NUMLOCKCLEAR
enumerator KEY_KP_DIVIDE
enumerator KEY_KP_MULTIPLY
enumerator KEY_KP_MINUS
enumerator KEY_KP_PLUS
enumerator KEY_KP_ENTER
enumerator KEY_KP_1
enumerator KEY_KP_2
enumerator KEY_KP_3
enumerator KEY_KP_4
enumerator KEY_KP_5
enumerator KEY_KP_6
enumerator KEY_KP_7
enumerator KEY_KP_8
enumerator KEY_KP_9
enumerator KEY_KP_0
enumerator KEY_KP_PERIOD
enumerator KEY_APPLICATION
enumerator KEY_POWER
enumerator KEY_KP_EQUALS
enumerator KEY_F13
enumerator KEY_F14
enumerator KEY_F15
enumerator KEY_F16
enumerator KEY_F17
enumerator KEY_F18
enumerator KEY_F19
enumerator KEY_F20
enumerator KEY_F21
enumerator KEY_F22
enumerator KEY_F23
enumerator KEY_F24
enumerator KEY_EXECUTE
enumerator KEY_HELP
enumerator KEY_MENU
enumerator KEY_SELECT
enumerator KEY_STOP
enumerator KEY_AGAIN
enumerator KEY_UNDO
enumerator KEY_CUT
enumerator KEY_COPY
enumerator KEY_PASTE
enumerator KEY_FIND
enumerator KEY_MUTE
enumerator KEY_VOLUMEUP
enumerator KEY_VOLUMEDOWN
enumerator KEY_KP_COMMA
enumerator KEY_KP_EQUALSAS400
enumerator KEY_ALTERASE
enumerator KEY_SYSREQ
enumerator KEY_CANCEL
enumerator KEY_CLEAR
enumerator KEY_PRIOR
enumerator KEY_RETURN2
enumerator KEY_SEPARATOR
enumerator KEY_OUT
enumerator KEY_OPER
enumerator KEY_CLEARAGAIN
enumerator KEY_CRSEL
enumerator KEY_EXSEL
enumerator KEY_KP_00
enumerator KEY_KP_000
enumerator KEY_THOUSANDSSEPARATOR
enumerator KEY_DECIMALSEPARATOR
enumerator KEY_CURRENCYUNIT
enumerator KEY_CURRENCYSUBUNIT
enumerator KEY_KP_LEFTPAREN
enumerator KEY_KP_RIGHTPAREN
enumerator KEY_KP_LEFTBRACE
enumerator KEY_KP_RIGHTBRACE
enumerator KEY_KP_TAB
enumerator KEY_KP_BACKSPACE
enumerator KEY_KP_A
enumerator KEY_KP_B
enumerator KEY_KP_C
enumerator KEY_KP_D
enumerator KEY_KP_E
enumerator KEY_KP_F
enumerator KEY_KP_XOR
enumerator KEY_KP_POWER
enumerator KEY_KP_PERCENT
enumerator KEY_KP_LESS
enumerator KEY_KP_GREATER
enumerator KEY_KP_AMPERSAND
enumerator KEY_KP_DBLAMPERSAND
enumerator KEY_KP_VERTICALBAR
enumerator KEY_KP_DBLVERTICALBAR
enumerator KEY_KP_COLON
enumerator KEY_KP_HASH
enumerator KEY_KP_SPACE
enumerator KEY_KP_AT
enumerator KEY_KP_EXCLAM
enumerator KEY_KP_MEMSTORE
enumerator KEY_KP_MEMRECALL
enumerator KEY_KP_MEMCLEAR
enumerator KEY_KP_MEMADD
enumerator KEY_KP_MEMSUBTRACT
enumerator KEY_KP_MEMMULTIPLY
enumerator KEY_KP_MEMDIVIDE
enumerator KEY_KP_PLUSMINUS
enumerator KEY_KP_CLEAR
enumerator KEY_KP_CLEARENTRY
enumerator KEY_KP_BINARY
enumerator KEY_KP_OCTAL
enumerator KEY_KP_DECIMAL
enumerator KEY_KP_HEXADECIMAL
enumerator KEY_LCTRL
enumerator KEY_LSHIFT
enumerator KEY_LALT
enumerator KEY_LGUI
enumerator KEY_RCTRL
enumerator KEY_RSHIFT
enumerator KEY_RALT
enumerator KEY_RGUI
enumerator KEY_MODE
enumerator KEY_AUDIONEXT
enumerator KEY_AUDIOPREV
enumerator KEY_AUDIOSTOP
enumerator KEY_AUDIOPLAY
enumerator KEY_AUDIOMUTE
enumerator KEY_MEDIASELECT
enumerator KEY_WWW
enumerator KEY_MAIL
enumerator KEY_CALCULATOR
enumerator KEY_COMPUTER
enumerator KEY_AC_SEARCH
enumerator KEY_AC_HOME
enumerator KEY_AC_BACK
enumerator KEY_AC_FORWARD
enumerator KEY_AC_STOP
enumerator KEY_AC_REFRESH
enumerator KEY_AC_BOOKMARKS
enumerator KEY_BRIGHTNESSDOWN
enumerator KEY_BRIGHTNESSUP
enumerator KEY_DISPLAYSWITCH
enumerator KEY_KBDILLUMTOGGLE
enumerator KEY_KBDILLUMDOWN
enumerator KEY_KBDILLUMUP
enumerator KEY_EJECT
enumerator KEY_SLEEP
enum KeyState

Values:

enumerator KEY_PRESSED
enumerator KEY_RELEASED
enum KeyMod

Values:

enumerator KEYMOD_NONE
enumerator KEYMOD_LSHIFT
enumerator KEYMOD_RSHIFT
enumerator KEYMOD_LCTRL
enumerator KEYMOD_RCTRL
enumerator KEYMOD_LALT
enumerator KEYMOD_RALT
enumerator KEYMOD_LGUI
enumerator KEYMOD_RGUI
enumerator KEYMOD_NUM
enumerator KEYMOD_CAPS
enumerator KEYMOD_MODE
enumerator KEYMOD_RESERVED
enumerator KEYMOD_CTRL
enumerator KEYMOD_SHIFT
enumerator KEYMOD_ALT
enumerator KEYMOD_GUI
enum MouseButtonCode

Values:

enumerator BUTTON_LEFT
enumerator BUTTON_MIDDLE
enumerator BUTTON_RIGHT
enumerator BUTTON_X1
enumerator BUTTON_X2
enum ShaderType

Values:

enumerator UNKNOWN
enumerator VERTEX
enumerator TESSELLATION_CONTROL
enumerator TESSELLATION_EVALUATION
enumerator GEOMETRY
enumerator FRAGMENT
enumerator COMPUTE
enum TransformSpace

Values:

enumerator TS_LOCAL
enumerator TS_WORLD
enum WindowEventType

Values:

enumerator WINDOWEVENT_UNKNOWN
enumerator WINDOWEVENT_NONE
enumerator WINDOWEVENT_SHOWN
enumerator WINDOWEVENT_HIDDEN
enumerator WINDOWEVENT_EXPOSED
enumerator WINDOWEVENT_MOVED
enumerator WINDOWEVENT_RESIZED
enumerator WINDOWEVENT_SIZE_CHANGED
enumerator WINDOWEVENT_MINIMIZED
enumerator WINDOWEVENT_MAXIMIZED
enumerator WINDOWEVENT_RESTORED
enumerator WINDOWEVENT_ENTER
enumerator WINDOWEVENT_LEAVE
enumerator WINDOWEVENT_FOCUS_GAINED
enumerator WINDOWEVENT_FOCUS_LOST
enumerator WINDOWEVENT_CLOSE
enumerator WINDOWEVENT_TAKE_FOCUS
enumerator WINDOWEVENT_HIT_TEST
enumerator WINDOWEVENT_UNKNOWN
enumerator WINDOWEVENT_NONE
enumerator WINDOWEVENT_SHOWN
enumerator WINDOWEVENT_HIDDEN
enumerator WINDOWEVENT_EXPOSED
enumerator WINDOWEVENT_MOVED
enumerator WINDOWEVENT_RESIZED
enumerator WINDOWEVENT_SIZE_CHANGED
enumerator WINDOWEVENT_MINIMIZED
enumerator WINDOWEVENT_MAXIMIZED
enumerator WINDOWEVENT_RESTORED
enumerator WINDOWEVENT_ENTER
enumerator WINDOWEVENT_LEAVE
enumerator WINDOWEVENT_FOCUS_GAINED
enumerator WINDOWEVENT_FOCUS_LOST
enumerator WINDOWEVENT_CLOSE
enumerator WINDOWEVENT_TAKE_FOCUS
enumerator WINDOWEVENT_HIT_TEST
enum WindowEventType

Values:

enumerator WINDOWEVENT_UNKNOWN
enumerator WINDOWEVENT_NONE
enumerator WINDOWEVENT_SHOWN
enumerator WINDOWEVENT_HIDDEN
enumerator WINDOWEVENT_EXPOSED
enumerator WINDOWEVENT_MOVED
enumerator WINDOWEVENT_RESIZED
enumerator WINDOWEVENT_SIZE_CHANGED
enumerator WINDOWEVENT_MINIMIZED
enumerator WINDOWEVENT_MAXIMIZED
enumerator WINDOWEVENT_RESTORED
enumerator WINDOWEVENT_ENTER
enumerator WINDOWEVENT_LEAVE
enumerator WINDOWEVENT_FOCUS_GAINED
enumerator WINDOWEVENT_FOCUS_LOST
enumerator WINDOWEVENT_CLOSE
enumerator WINDOWEVENT_TAKE_FOCUS
enumerator WINDOWEVENT_HIT_TEST
enumerator WINDOWEVENT_UNKNOWN
enumerator WINDOWEVENT_NONE
enumerator WINDOWEVENT_SHOWN
enumerator WINDOWEVENT_HIDDEN
enumerator WINDOWEVENT_EXPOSED
enumerator WINDOWEVENT_MOVED
enumerator WINDOWEVENT_RESIZED
enumerator WINDOWEVENT_SIZE_CHANGED
enumerator WINDOWEVENT_MINIMIZED
enumerator WINDOWEVENT_MAXIMIZED
enumerator WINDOWEVENT_RESTORED
enumerator WINDOWEVENT_ENTER
enumerator WINDOWEVENT_LEAVE
enumerator WINDOWEVENT_FOCUS_GAINED
enumerator WINDOWEVENT_FOCUS_LOST
enumerator WINDOWEVENT_CLOSE
enumerator WINDOWEVENT_TAKE_FOCUS
enumerator WINDOWEVENT_HIT_TEST

Variables

constexpr uint8 TEXTINPUTEVENT_TEXT_SIZE = 32
class BonesHandle : public ice_engine::handles::Handle<BonesHandle>
#include <BonesHandle.hpp>
class CameraHandle : public ice_engine::handles::Handle<CameraHandle>
#include <CameraHandle.hpp>
class Color
#include <Color.hpp>

Public Functions

Color() = default
inline Color(const uint32 color)
inline Color(const uint8 r, const uint8 g, const uint8 b, const uint8 a)
inline void setColor(const uint32 color)
inline void setColor(const uint8 r, const uint8 g, const uint8 b, const uint8 a)
inline uint32 color() const
struct DisplacementMap
#include <IGraphicsEngine.hpp>

Public Functions

DisplacementMap() = default
inline DisplacementMap(IImage *displacementMap)

Public Members

IImage *displacementMap = nullptr
union Event
#include <Event.hpp>

Public Members

uint32 type
GenericEvent generic
WindowEvent window
KeyboardEvent key
TextInputEvent text
MouseMotionEvent motion
MouseButtonEvent button
MouseWheelEvent wheel
class FragmentShaderHandle : public ice_engine::handles::Handle<FragmentShaderHandle>
#include <FragmentShaderHandle.hpp>
struct GenericEvent
#include <Event.hpp>

Public Members

uint32 type
struct GraphicsException : public virtual ice_engine::Exception
#include <GraphicsException.hpp>
class GraphicsFactory
#include <GraphicsFactory.hpp>

Public Static Functions

static std::unique_ptr<IGraphicsEngine> createGraphicsEngine(utilities::Properties *properties, fs::IFileSystem *fileSystem, logger::ILogger *logger)
class IDisplacementMap
#include <IDisplacementMap.hpp>

Subclassed by ice_engine::DisplacementMap

Public Functions

inline virtual ~IDisplacementMap()
class IEventListener
#include <IEventListener.hpp>

Subclassed by ice_engine::GameEngine

Public Functions

inline virtual ~IEventListener()
virtual bool processEvent(const Event &event) = 0
class IGraphicsEngine
#include <IGraphicsEngine.hpp>

Public Functions

virtual ~IGraphicsEngine() = default
virtual void setViewport(const uint32 width, const uint32 height) = 0
virtual glm::uvec2 getViewport() const = 0
virtual glm::mat4 getModelMatrix() const = 0
virtual glm::mat4 getViewMatrix() const = 0
virtual glm::mat4 getProjectionMatrix() const = 0
virtual void beginRender() = 0
virtual void render(const RenderSceneHandle &renderSceneHandle) = 0
virtual void renderLine(const glm::vec3 &from, const glm::vec3 &to, const glm::vec3 &color) = 0
virtual void renderLines(const std::vector<std::tuple<glm::vec3, glm::vec3, glm::vec3>> &lineData) = 0
virtual void endRender() = 0
virtual RenderSceneHandle createRenderScene() = 0
virtual bool valid(const RenderSceneHandle &renderSceneHandle) const = 0
virtual void destroy(const RenderSceneHandle &renderSceneHandle) = 0
virtual CameraHandle createCamera(const glm::vec3 &position, const glm::vec3 &lookAt = glm::vec3(0.0f, 0.0f, 0.0f)) = 0
virtual bool valid(const CameraHandle &cameraHandle) const = 0
virtual void destroy(const CameraHandle &cameraHandle) = 0
virtual PointLightHandle createPointLight(const RenderSceneHandle &renderSceneHandle, const glm::vec3 &position) = 0
virtual bool valid(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle) const = 0
virtual void destroy(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle) = 0
virtual MeshHandle createStaticMesh(const IMesh &mesh) = 0
virtual MeshHandle createDynamicMesh(const IMesh &mesh) = 0
virtual bool valid(const MeshHandle &meshHandle) const = 0
virtual void destroy(const MeshHandle &meshHandle) = 0
virtual SkeletonHandle createSkeleton(const MeshHandle &meshHandle, const ISkeleton &skeleton) = 0
virtual bool valid(const SkeletonHandle &skeletonHandle) const = 0
virtual void destroy(const SkeletonHandle &skeletonHandle) = 0
virtual BonesHandle createBones(const uint32 maxNumberOfBones) = 0
virtual bool valid(const BonesHandle &bonesHandle) const = 0
virtual void destroy(const BonesHandle &bonesHandle) = 0
virtual void attach(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const BonesHandle &bonesHandle) = 0
virtual void detach(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const BonesHandle &bonesHandle) = 0
virtual void attachBoneAttachment(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const BonesHandle &bonesHandle, const glm::ivec4 &boneIds, const glm::vec4 &boneWeights) = 0
virtual void detachBoneAttachment(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle) = 0
virtual TextureHandle createTexture2d(const ITexture &texture) = 0
virtual bool valid(const TextureHandle &textureHandle) const = 0
virtual void destroy(const TextureHandle &textureHandle) = 0
virtual MaterialHandle createMaterial(const IPbrMaterial &pbrMaterial) = 0
virtual bool valid(const MaterialHandle &materialHandle) const = 0
virtual void destroy(const MaterialHandle &materialHandle) = 0
virtual TerrainHandle createStaticTerrain(const IHeightMap &heightMap, const ISplatMap &splatMap, const IDisplacementMap &displacementMap) = 0
virtual bool valid(const TerrainHandle &terrainHandle) const = 0
virtual void destroy(const TerrainHandle &terrainHandle) = 0
virtual SkyboxHandle createStaticSkybox(const IImage &back, const IImage &down, const IImage &front, const IImage &left, const IImage &right, const IImage &up) = 0
virtual bool valid(const SkyboxHandle &skyboxHandle) const = 0
virtual void destroy(const SkyboxHandle &skyboxHandle) = 0
virtual VertexShaderHandle createVertexShader(const std::string &data) = 0
virtual FragmentShaderHandle createFragmentShader(const std::string &data) = 0
virtual TessellationControlShaderHandle createTessellationControlShader(const std::string &data) = 0
virtual TessellationEvaluationShaderHandle createTessellationEvaluationShader(const std::string &data) = 0
virtual bool valid(const VertexShaderHandle &shaderHandle) const = 0
virtual bool valid(const FragmentShaderHandle &shaderHandle) const = 0
virtual bool valid(const TessellationControlShaderHandle &shaderHandle) const = 0
virtual bool valid(const TessellationEvaluationShaderHandle &shaderHandle) const = 0
virtual void destroy(const VertexShaderHandle &shaderHandle) = 0
virtual void destroy(const FragmentShaderHandle &shaderHandle) = 0
virtual void destroy(const TessellationControlShaderHandle &shaderHandle) = 0
virtual void destroy(const TessellationEvaluationShaderHandle &shaderHandle) = 0
virtual ShaderProgramHandle createShaderProgram(const VertexShaderHandle &vertexShaderHandle, const FragmentShaderHandle &fragmentShaderHandle) = 0
virtual ShaderProgramHandle createShaderProgram(const VertexShaderHandle &vertexShaderHandle, const TessellationControlShaderHandle &tessellationControlShaderHandle, const TessellationEvaluationShaderHandle &tessellationEvaluationShaderHandle, const FragmentShaderHandle &fragmentShaderHandle) = 0
virtual bool valid(const ShaderProgramHandle &shaderProgramHandle) const = 0
virtual void destroy(const ShaderProgramHandle &shaderProgramHandle) = 0
virtual RenderableHandle createRenderable(const RenderSceneHandle &renderSceneHandle, const MeshHandle &meshHandle, const TextureHandle &textureHandle, const glm::vec3 &position, const glm::quat &orientation, const glm::vec3 &scale = glm::vec3(1.0f), const ShaderProgramHandle &shaderProgramHandle = ShaderProgramHandle()) = 0
virtual RenderableHandle createRenderable(const RenderSceneHandle &renderSceneHandle, const MeshHandle &meshHandle, const MaterialHandle &materialHandle, const glm::vec3 &position, const glm::quat &orientation, const glm::vec3 &scale = glm::vec3(1.0f)) = 0
virtual bool valid(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle) const = 0
virtual void destroy(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle) = 0
virtual TerrainRenderableHandle createTerrainRenderable(const RenderSceneHandle &renderSceneHandle, const TerrainHandle &terrainHandle) = 0
virtual bool valid(const RenderSceneHandle &renderSceneHandle, const TerrainRenderableHandle &terrainRenderableHandle) const = 0
virtual void destroy(const RenderSceneHandle &renderSceneHandle, const TerrainRenderableHandle &terrainRenderableHandle) = 0
virtual SkyboxRenderableHandle createSkyboxRenderable(const RenderSceneHandle &renderSceneHandle, const SkyboxHandle &skyboxHandle) = 0
virtual bool valid(const RenderSceneHandle &renderSceneHandle, const SkyboxRenderableHandle &skyboxRenderableHandle) const = 0
virtual void destroy(const RenderSceneHandle &renderSceneHandle, const SkyboxRenderableHandle &skyboxRenderableHandle) = 0
virtual void rotate(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const glm::quat &quaternion, const TransformSpace &relativeTo = TransformSpace::TS_LOCAL) = 0
virtual void rotate(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const float32 degrees, const glm::vec3 &axis, const TransformSpace &relativeTo = TransformSpace::TS_LOCAL) = 0
virtual void rotate(const CameraHandle &cameraHandle, const glm::quat &quaternion, const TransformSpace &relativeTo = TransformSpace::TS_LOCAL) = 0
virtual void rotate(const CameraHandle &cameraHandle, const float32 degrees, const glm::vec3 &axis, const TransformSpace &relativeTo = TransformSpace::TS_LOCAL) = 0
virtual void rotation(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const glm::quat &quaternion) = 0
virtual void rotation(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const float32 degrees, const glm::vec3 &axis) = 0
virtual glm::quat rotation(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle) const = 0
virtual void rotation(const CameraHandle &cameraHandle, const glm::quat &quaternion) = 0
virtual void rotation(const CameraHandle &cameraHandle, const float32 degrees, const glm::vec3 &axis) = 0
virtual glm::quat rotation(const CameraHandle &cameraHandle) const = 0
virtual void translate(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void translate(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const glm::vec3 &trans) = 0
virtual void translate(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void translate(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle, const glm::vec3 &trans) = 0
virtual void translate(const CameraHandle &cameraHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void translate(const CameraHandle &cameraHandle, const glm::vec3 &trans) = 0
virtual void scale(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void scale(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const glm::vec3 &scale) = 0
virtual void scale(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const float32 scale) = 0
virtual glm::vec3 scale(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle) const = 0
virtual void position(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void position(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const glm::vec3 &position) = 0
virtual glm::vec3 position(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle) const = 0
virtual void position(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void position(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle, const glm::vec3 &position) = 0
virtual glm::vec3 position(const RenderSceneHandle &renderSceneHandle, const PointLightHandle &pointLightHandle) const = 0
virtual void position(const CameraHandle &cameraHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void position(const CameraHandle &cameraHandle, const glm::vec3 &position) = 0
virtual glm::vec3 position(const CameraHandle &cameraHandle) const = 0
virtual void lookAt(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const glm::vec3 &lookAt) = 0
virtual void lookAt(const CameraHandle &cameraHandle, const glm::vec3 &lookAt) = 0
virtual void assign(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const SkeletonHandle &skeletonHandle) = 0
virtual void update(const RenderSceneHandle &renderSceneHandle, const RenderableHandle &renderableHandle, const BonesHandle &bonesHandle, const std::vector<glm::mat4> &transformations) = 0
virtual void setMouseRelativeMode(const bool enabled) = 0
virtual void setWindowGrab(const bool enabled) = 0
virtual bool cursorVisible() const = 0
virtual void setCursorVisible(const bool visible) = 0
virtual void processEvents() = 0
virtual void addEventListener(IEventListener *eventListener) = 0
virtual void removeEventListener(IEventListener *eventListener) = 0
class IGraphicsEngineFactory
#include <IGraphicsEngineFactory.hpp>

Public Functions

virtual ~IGraphicsEngineFactory() = default
virtual std::unique_ptr<IGraphicsEngine> create(utilities::Properties *properties, fs::IFileSystem *fileSystem, logger::ILogger *logger) = 0
class IHeightMap
#include <IHeightMap.hpp>

Subclassed by ice_engine::HeightMap

Public Functions

virtual ~IHeightMap() = default
virtual const IImage *image() const = 0
class IImage
#include <IImage.hpp>

Subclassed by ice_engine::IImage

Public Types

enum Format

Values:

enumerator FORMAT_UNKNOWN
enumerator FORMAT_RGB
enumerator FORMAT_RGBA

Public Functions

virtual ~IImage() = default
virtual const std::vector<byte> &data() const = 0
virtual uint32 width() const = 0
virtual uint32 height() const = 0
virtual int32 format() const = 0
class IMesh
#include <IMesh.hpp>

Subclassed by ice_engine::Mesh

Public Functions

virtual ~IMesh() = default
virtual const std::string &name() const = 0
virtual const std::vector<glm::vec3> &vertices() const = 0
virtual const std::vector<uint32> &indices() const = 0
virtual const std::vector<glm::vec4> &colors() const = 0
virtual const std::vector<glm::vec3> &normals() const = 0
virtual const std::vector<glm::vec2> &textureCoordinates() const = 0
class IPbrMaterial
#include <IPbrMaterial.hpp>

Subclassed by ice_engine::PbrMaterial

Public Functions

inline virtual ~IPbrMaterial()
virtual const IImage *albedo() const = 0
virtual const IImage *normal() const = 0
virtual const IImage *metalness() const = 0
virtual const IImage *roughness() const = 0
virtual const IImage *ambientOcclusion() const = 0
class ISkeleton
#include <ISkeleton.hpp>

Subclassed by ice_engine::VertexBoneData

Public Functions

virtual ~ISkeleton() = default
virtual const std::string &name() const = 0
virtual const std::vector<glm::ivec4> &boneIds() const = 0
virtual const std::vector<glm::vec4> &boneWeights() const = 0
class ISplatMap
#include <ISplatMap.hpp>

Subclassed by ice_engine::SplatMap

Public Functions

inline virtual ~ISplatMap()
virtual const std::vector<IPbrMaterial*> &materialMap() const = 0
virtual const IImage *terrainMap() const = 0
class ITexture
#include <ITexture.hpp>

Subclassed by ice_engine::Texture

Public Functions

virtual ~ITexture() = default
virtual const std::string &name() const = 0
virtual const IImage *image() const = 0
struct KeyboardEvent
#include <Event.hpp>

Public Members

uint32 type
uint8 state
uint8 repeat
uint8 padding2
uint8 padding3
KeySym keySym
struct KeySym
#include <Keyboard.hpp>

Public Members

ScanCode scancode
KeyCode sym
uint16 mod
class MaterialHandle : public ice_engine::handles::Handle<MaterialHandle>
#include <MaterialHandle.hpp>
class MeshHandle : public ice_engine::handles::Handle<T>, public ice_engine::handles::Handle<MeshHandle>
#include <MeshHandle.hpp>

Public Static Attributes

static const MeshHandle INVALID
class ModelHandle : public ice_engine::handles::Handle<ModelHandle>
#include <ModelHandle.hpp>
class ModelInstanceHandle : public ResourceHandle
#include <ModelInstanceHandle.hpp>

Public Static Attributes

static const ModelInstanceHandle INVALID
struct MouseButtonEvent
#include <Event.hpp>

Public Members

uint32 type
uint8 button
uint8 state
uint8 clicks
uint8 padding3
int32 x
int32 y
struct MouseMotionEvent
#include <Event.hpp>

Public Members

uint32 type
uint32 state
uint8 padding1
uint8 padding2
uint8 padding3
int32 x
int32 y
int32 xrel
int32 yrel
struct MouseWheelEvent
#include <Event.hpp>

Public Members

uint32 type
int32 x
int32 y
uint32 direction
class PointLightHandle : public ice_engine::handles::Handle<PointLightHandle>
#include <PointLightHandle.hpp>
class RenderableHandle : public ice_engine::handles::Handle<RenderableHandle>
#include <RenderableHandle.hpp>
class RenderSceneHandle : public ice_engine::handles::Handle<RenderSceneHandle>
#include <RenderSceneHandle.hpp>
class ShaderHandle : public ice_engine::handles::Handle<ShaderHandle>
#include <ShaderHandle.hpp>
class ShaderProgramHandle : public ice_engine::handles::Handle<ShaderProgramHandle>
#include <ShaderProgramHandle.hpp>
class SkeletonHandle : public ice_engine::handles::Handle<SkeletonHandle>
#include <SkeletonHandle.hpp>
class SkyboxHandle : public ice_engine::handles::Handle<SkyboxHandle>
#include <SkyboxHandle.hpp>
class SkyboxRenderableHandle : public ice_engine::handles::Handle<SkyboxRenderableHandle>
#include <SkyboxRenderableHandle.hpp>
class TerrainHandle : public ice_engine::handles::Handle<TerrainHandle>
#include <TerrainHandle.hpp>
class TerrainRenderableHandle : public ice_engine::handles::Handle<TerrainRenderableHandle>
#include <TerrainRenderableHandle.hpp>
class TessellationControlShaderHandle : public ice_engine::handles::Handle<TessellationControlShaderHandle>
#include <TessellationControlShaderHandle.hpp>
class TessellationEvaluationShaderHandle : public ice_engine::handles::Handle<TessellationEvaluationShaderHandle>
#include <TessellationEvaluationShaderHandle.hpp>
struct TextInputEvent
#include <Event.hpp>

Public Members

uint32 type
uint32 timestamp
char text[TEXTINPUTEVENT_TEXT_SIZE]
class TextureHandle : public ice_engine::handles::Handle<TextureHandle>
#include <TextureHandle.hpp>
class VertexShaderHandle : public ice_engine::handles::Handle<VertexShaderHandle>
#include <VertexShaderHandle.hpp>
struct WindowEvent
#include <Event.hpp>

Public Members

uint32 type
uint32 timestamp
uint32 windowId
WindowEventType eventType
uint8 padding1
uint8 padding2
uint8 padding3
sint32 data1
sint32 data2
namespace gui

Enums

enum WindowFlags

Values:

enumerator ICEENGINE_TITLE_BAR
enumerator ICEENGINE_MOVABLE
enumerator ICEENGINE_NO_SCROLLBAR
enumerator ICEENGINE_CLOSABLE
enumerator ICEENGINE_MINIMIZABLE
enumerator ICEENGINE_RESIZABLE
enumerator ICEENGINE_MENUBAR
enumerator ICEENGINE_NO_INPUT
class IButton : public virtual ice_engine::graphics::gui::IComponent
#include <IButton.hpp>

Public Functions

virtual ~IButton() = default
virtual void setLabel(const std::string &label) = 0
virtual const std::string &label() const = 0
virtual void setCallback(std::function<void()> &callback) = 0
class IComboBox : public virtual ice_engine::graphics::gui::IComponent
#include <IComboBox.hpp>

Public Functions

virtual ~IComboBox() = default
virtual IComboBoxItem *createItem(const std::string &label) = 0
virtual IComboBoxItem *getItem(const std::string &label) const = 0
virtual void destroy(const IComboBoxItem *comboBoxItem) = 0
virtual void select(IComboBoxItem *comboBoxItem) = 0
virtual void unselect(const IComboBoxItem *comboBoxItem) = 0
virtual bool selected(const IComboBoxItem *comboBoxItem) const = 0
virtual void setCallback(std::function<void(IComboBoxItem*)> &callback) = 0
class IComboBoxItem
#include <IComboBoxItem.hpp>

Public Functions

virtual ~IComboBoxItem() = default
virtual void setLabel(const std::string &label) = 0
virtual const std::string &label() const = 0
class IComponent
#include <IComponent.hpp>

Subclassed by ice_engine::graphics::gui::IButton, ice_engine::graphics::gui::IComboBox, ice_engine::graphics::gui::ILabel, ice_engine::graphics::gui::IMainMenuBar, ice_engine::graphics::gui::IMenu, ice_engine::graphics::gui::IMenuBar, ice_engine::graphics::gui::IMenuItem, ice_engine::graphics::gui::IPopupModal, ice_engine::graphics::gui::IRectangle, ice_engine::graphics::gui::ITextArea, ice_engine::graphics::gui::ITextField, ice_engine::graphics::gui::ITreeNode, ice_engine::graphics::gui::ITreeView, ice_engine::graphics::gui::IWindow

Public Functions

virtual ~IComponent() = default
virtual void render() = 0
virtual void tick(const float32 delta) = 0
virtual bool visible() const = 0
virtual void setVisible(const bool visible) = 0
virtual bool disabled() const = 0
virtual void setDisabled(const bool disabled) = 0
virtual void setStyle(const Style &style) = 0
virtual const Style &style() const = 0
virtual void setPosition(const uint32 x, const uint32 y) = 0
virtual glm::ivec2 position() const = 0
virtual void setDimensions(const uint32 with, const uint32 height) = 0
virtual glm::ivec2 dimensions() const = 0
virtual void addComponent(IComponent *component) = 0
virtual void removeComponent(IComponent *component) = 0
virtual void removeAllComponents() = 0
class IGenericComponentContainer
#include <IGenericComponentContainer.hpp>

Subclassed by ice_engine::graphics::gui::IPopupModal, ice_engine::graphics::gui::IWindow

Public Functions

virtual ~IGenericComponentContainer() = default
virtual ILabel *createLabel(const std::string label = std::string()) = 0
virtual ILabel *createLabel(const uint32 x, const uint32 y, const uint32 width, const uint32 height, const std::string label = std::string()) = 0
virtual IButton *createButton(const std::string label = std::string()) = 0
virtual IButton *createButton(const uint32 x, const uint32 y, const uint32 width, const uint32 height, const std::string label = std::string()) = 0
virtual ITextField *createTextField(const std::string text = std::string()) = 0
virtual ITextField *createTextField(const uint32 x, const uint32 y, const uint32 width, const uint32 height, const std::string text = std::string()) = 0
virtual ITextArea *createTextArea(const std::string text = std::string()) = 0
virtual ITextArea *createTextArea(const uint32 x, const uint32 y, const uint32 width, const uint32 height, const std::string text = std::string()) = 0
virtual ITreeView *createTreeView() = 0
virtual IComboBox *createComboBox() = 0
virtual void add(std::unique_ptr<IComponent> component) = 0
virtual void destroy(const ILabel *label) = 0
virtual void destroy(const IButton *button) = 0
virtual void destroy(const ITextField *textField) = 0
virtual void destroy(const ITextArea *textArea) = 0
virtual void destroy(const ITreeView *treeView) = 0
virtual void destroy(const IComboBox *comboBox) = 0
virtual std::unique_ptr<IComponent> remove(const IComponent *component) = 0
class IGui
#include <IGui.hpp>

Public Functions

virtual ~IGui() = default
virtual void setViewport(const uint32 width, const uint32 height) = 0
virtual void render() = 0
virtual void tick(const float32 delta) = 0
virtual bool visible() const = 0
virtual void setVisible(const bool visible) = 0
virtual void setStyle(const Style &style) = 0
virtual const Style &style() const = 0
virtual IWindow *createWindow(const uint32 x, const uint32 y, const uint32 width, const uint32 height, const std::string title = std::string()) = 0
virtual IWindow *createWindow(const uint32 x, const uint32 y, const uint32 width, const uint32 height, const uint32 flags, const std::string title = std::string()) = 0
virtual IMainMenuBar *createMainMenuBar() = 0
virtual void destroyMainMenuBar() = 0
virtual IPopupModal *createPopupModal(const std::string &title) = 0
virtual void destroy(const IWindow *window) = 0
virtual void destroy(const IPopupModal *popupModal) = 0
virtual bool processEvent(const graphics::WindowEvent &event) = 0
virtual bool processEvent(const graphics::KeyboardEvent &event) = 0
virtual bool processEvent(const graphics::TextInputEvent &event) = 0
virtual bool processEvent(const graphics::MouseButtonEvent &event) = 0
virtual bool processEvent(const graphics::MouseMotionEvent &event) = 0
virtual bool processEvent(const graphics::MouseWheelEvent &event) = 0
class IGuiFactory
#include <IGuiFactory.hpp>

Public Functions

virtual ~IGuiFactory() = default
virtual std::unique_ptr<IGui> create(utilities::Properties *properties, fs::IFileSystem *fileSystem, logger::ILogger *logger, IGraphicsEngine *graphicsEngine) = 0
class ILabel : public virtual ice_engine::graphics::gui::IComponent
#include <ILabel.hpp>

Public Functions

virtual ~ILabel() = default
virtual void setLabel(const std::string &label) = 0
virtual const std::string &label() const = 0
class IMainMenuBar : public virtual ice_engine::graphics::gui::IComponent
#include <IMainMenuBar.hpp>

Public Functions

virtual ~IMainMenuBar() = default
virtual IMenu *createMenu(const std::string &label) = 0
virtual IMenu *getMenu(const std::string &label) const = 0
class IMenu : public virtual ice_engine::graphics::gui::IComponent
#include <IMenu.hpp>

Public Functions

virtual ~IMenu() = default
virtual void setLabel(const std::string &label) = 0
virtual const std::string &label() const = 0
virtual IMenu *createMenu(const std::string &label) = 0
virtual IMenu *getMenu(const std::string &label) const = 0
virtual void createSeparator() = 0
virtual IMenuItem *createMenuItem(const std::string &label) = 0
class IMenuBar : public virtual ice_engine::graphics::gui::IComponent
#include <IMenuBar.hpp>

Public Functions

virtual ~IMenuBar() = default
virtual IMenu *createMenu(const std::string &label) = 0
virtual IMenu *getMenu(const std::string &label) const = 0
class IMenuItem : public virtual ice_engine::graphics::gui::IComponent
#include <IMenuItem.hpp>

Public Functions

virtual ~IMenuItem() = default
virtual void setLabel(const std::string &label) = 0
virtual const std::string &label() const = 0
virtual void setCallback(std::function<void()> &callback) = 0
virtual IMenuItem *createMenuItem(const std::string &label) = 0
class IPopupModal : public virtual ice_engine::graphics::gui::IGenericComponentContainer, public virtual ice_engine::graphics::gui::IComponent
#include <IPopupModal.hpp>

Public Functions

virtual ~IPopupModal() = default
virtual void close() = 0
class IRectangle : public virtual ice_engine::graphics::gui::IComponent
#include <IRectangle.hpp>

Public Functions

virtual ~IRectangle() = default
virtual void setPoints(const glm::vec2 &start, const glm::vec2 &end) = 0
virtual const glm::vec2 &startPoint() const = 0
virtual const glm::vec2 &endPoint() const = 0
virtual void setColor(const Color &color) = 0
virtual const Color &color() const = 0
class ITextArea : public virtual ice_engine::graphics::gui::IComponent
#include <ITextArea.hpp>

Public Functions

virtual ~ITextArea() = default
virtual const std::string &text() const = 0
virtual void setText(const std::string &text) = 0
virtual void setOnChangeCallback(std::function<void()> &onChangeCallback) = 0
class ITextField : public virtual ice_engine::graphics::gui::IComponent
#include <ITextField.hpp>

Public Functions

virtual ~ITextField() = default
virtual void setText(const std::string &text) = 0
virtual const std::string &text() const = 0
virtual void setOnChangeCallback(std::function<void()> &onChangeCallback) = 0
class ITreeNode : public virtual ice_engine::graphics::gui::IComponent
#include <ITreeNode.hpp>

Public Functions

virtual ~ITreeNode() = default
virtual ITreeNode *createNode(const std::string &label) = 0
virtual ITreeNode *getNode(const std::string &label) = 0
virtual void destroy(const ITreeNode *treeNode) = 0
virtual void setLabel(const std::string &label) = 0
virtual const std::string &label() const = 0
class ITreeView : public virtual ice_engine::graphics::gui::IComponent
#include <ITreeView.hpp>

Public Functions

virtual ~ITreeView() = default
virtual ITreeNode *createNode(const std::string &label) = 0
virtual ITreeNode *getNode(const std::string &label) = 0
virtual void destroy(const ITreeNode *treeNode) = 0
virtual void select(ITreeNode *treeNode) = 0
virtual void unselect(const ITreeNode *treeNode) = 0
virtual bool selected(const ITreeNode *treeNode) const = 0
virtual void setCallback(std::function<void(ITreeNode*)> &callback) = 0
class IWindow : public virtual ice_engine::graphics::gui::IComponent, public virtual ice_engine::graphics::gui::IGenericComponentContainer
#include <IWindow.hpp>

Public Functions

virtual ~IWindow() = default
virtual IMenuBar *createMenuBar() = 0
virtual IRectangle *createRectangle(const glm::vec2 &start, const glm::vec2 &end, const Color &color) = 0
virtual void destroy(const IRectangle *rectangle) = 0
virtual void setTitle(const std::string &title) = 0
virtual const std::string &title() const = 0
virtual void setBackgroundAlpha(const float32 alpha) = 0
struct Style
#include <Style.hpp>

Public Members

float32 alpha = 1.0f
namespace model

Functions

void animateSkeleton(std::vector<glm::mat4> &transformations, const glm::mat4 &globalInverseTransformation, const std::unordered_map<std::string, AnimatedBoneNode> &animatedBoneNodes, const BoneNode &rootBoneNode, const BoneData &boneData, const float64 duration, const float64 ticksPerSecond, const float32 runningTime, const uint32 startFrame = 0, const uint32 endFrame = 0)
void animateSkeleton(std::vector<glm::mat4> &transformations, const glm::mat4 &globalInverseTransformation, const std::unordered_map<std::string, AnimatedBoneNode> &animatedBoneNodes, const BoneNode &rootBoneNode, const BoneData &boneData, const float64 duration, const float64 ticksPerSecond, const float32 runningTime, std::vector<uint32> &indexCache, const uint32 startFrame = 0, const uint32 endFrame = 0)
struct AnimatedBoneNode
#include <AnimatedBoneNode.hpp>

Public Functions

inline AnimatedBoneNode()
inline AnimatedBoneNode(std::string name, std::vector<float64> positionTimes, std::vector<float64> rotationTimes, std::vector<float64> scalingTimes, std::vector<glm::vec3> positions, std::vector<glm::quat> rotations, std::vector<glm::vec3> scalings)

Public Members

std::string name
std::vector<float64> positionTimes
std::vector<float64> rotationTimes
std::vector<float64> scalingTimes
std::vector<glm::vec3> positions
std::vector<glm::quat> rotations
std::vector<glm::vec3> scalings
struct Animation
#include <Animation.hpp>

Public Functions

Animation() = default
inline Animation(std::string name, float64 duration, float64 ticksPerSecond, std::unordered_map<std::string, AnimatedBoneNode> animatedBoneNodes)

Public Members

std::string name
float64 duration
float64 ticksPerSecond
std::unordered_map<std::string, AnimatedBoneNode> animatedBoneNodes
struct AnimationSet
#include <AnimationSet.hpp>

Public Members

std::string name
BoneNode rootBoneNode
std::unordered_map<std::string, Animation> animations
glm::mat4 globalInverseTransformation = glm::mat4(1.0f)
struct Bone
#include <Bone.hpp>

Public Members

std::string name
glm::mat4 boneOffset = glm::mat4(1.0f)
struct BoneData
#include <BoneData.hpp>

Public Members

std::string name
std::unordered_map<std::string, uint32> boneIndexMap
std::vector<Bone> boneTransform
struct BoneNode
#include <BoneNode.hpp>

Public Members

std::string name
glm::mat4 transformation = glm::mat4(1.0f)
std::vector<BoneNode> children
struct Material
#include <Material.hpp>

Public Members

std::string name
glm::vec4 ambient
glm::vec4 diffuse
glm::vec4 specular
glm::vec4 emission
float32 shininess
float32 strength
struct Mesh
#include <Mesh.hpp>

Public Members

std::string name
std::vector<glm::vec3> vertices
std::vector<uint32> indices
std::vector<glm::vec4> colors
std::vector<glm::vec3> normals
std::vector<glm::vec2> textureCoordinates
std::vector<VertexBoneData> bones
struct Model
#include <Model.hpp>

Public Members

std::vector<Mesh> meshes
std::vector<Material> materials
std::vector<Texture> textures
std::vector<BoneData> boneData
std::vector<Animation> animations
BoneNode rootBoneNode
glm::mat4 globalInverseTransformation = glm::mat4(1.0f)
struct Texture
#include <Texture.hpp>

Public Functions

Texture() = default
inline Texture(const Texture &other)

Public Members

std::string filename
Image image
struct VertexBoneData
#include <VertexBoneData.hpp>

Public Functions

inline VertexBoneData()
inline void addBoneWeight(uint32 id, float32 weight)

Public Members

glm::ivec4 boneIds
glm::vec4 weights