Chira Engine
A customizable MIT-licensed game engine.
chira::Renderer Namespace Reference

OpenGL render backend. More...

Classes

struct  TextureHandle
 
struct  FrameBufferHandle
 
struct  ShaderModuleHandle
 
struct  ShaderHandle
 
struct  UniformBufferHandle
 
struct  MeshHandle
 

Functions

std::string_view getHumanName ()
 
bool setupForDebugging ()
 
void setClearColor (ColorRGBA color)
 
TextureHandle createTexture2D (const Image &image, WrapMode wrapS, WrapMode wrapT, FilterMode filter, bool genMipmaps, TextureUnit activeTextureUnit)
 
TextureHandle createTextureCubemap (const Image &imageRT, const Image &imageLT, const Image &imageUP, const Image &imageDN, const Image &imageFD, const Image &imageBK, WrapMode wrapS, WrapMode wrapT, WrapMode wrapR, FilterMode filter, bool genMipmaps, TextureUnit activeTextureUnit)
 
void useTexture (TextureHandle handle, TextureUnit activeTextureUnit)
 
void * getImGuiTextureHandle (TextureHandle handle)
 
void destroyTexture (TextureHandle handle)
 
FrameBufferHandle createFrameBuffer (int width, int height, WrapMode wrapS, WrapMode wrapT, FilterMode filter, bool hasDepth)
 
void recreateFrameBuffer (Renderer::FrameBufferHandle *handle, int width, int height, WrapMode wrapS, WrapMode wrapT, FilterMode filter, bool hasDepth)
 
void pushFrameBuffer (FrameBufferHandle handle)
 
void popFrameBuffer ()
 
void useFrameBufferTexture (const FrameBufferHandle handle, TextureUnit activeTextureUnit)
 
void * getImGuiFrameBufferHandle (FrameBufferHandle handle)
 
void destroyFrameBuffer (FrameBufferHandle handle)
 
int getFrameBufferWidth (FrameBufferHandle handle)
 
int getFrameBufferHeight (FrameBufferHandle handle)
 
ShaderHandle createShader (std::string_view vertex, std::string_view fragment)
 
void useShader (ShaderHandle handle)
 
void destroyShader (ShaderHandle handle)
 
void setShaderUniform1b (ShaderHandle handle, std::string_view name, bool value)
 
void setShaderUniform1u (ShaderHandle handle, std::string_view name, unsigned int value)
 
void setShaderUniform1i (ShaderHandle handle, std::string_view name, int value)
 
void setShaderUniform1f (ShaderHandle handle, std::string_view name, float value)
 
void setShaderUniform2b (ShaderHandle handle, std::string_view name, glm::vec2b value)
 
void setShaderUniform2u (ShaderHandle handle, std::string_view name, glm::vec2u value)
 
void setShaderUniform2i (ShaderHandle handle, std::string_view name, glm::vec2i value)
 
void setShaderUniform2f (ShaderHandle handle, std::string_view name, glm::vec2f value)
 
void setShaderUniform3b (ShaderHandle handle, std::string_view name, glm::vec3b value)
 
void setShaderUniform3u (ShaderHandle handle, std::string_view name, glm::vec3u value)
 
void setShaderUniform3i (ShaderHandle handle, std::string_view name, glm::vec3i value)
 
void setShaderUniform3f (ShaderHandle handle, std::string_view name, glm::vec3f value)
 
void setShaderUniform4b (ShaderHandle handle, std::string_view name, glm::vec4b value)
 
void setShaderUniform4u (ShaderHandle handle, std::string_view name, glm::vec4u value)
 
void setShaderUniform4i (ShaderHandle handle, std::string_view name, glm::vec4i value)
 
void setShaderUniform4f (ShaderHandle handle, std::string_view name, glm::vec4f value)
 
void setShaderUniform4m (ShaderHandle handle, std::string_view name, glm::mat4 value)
 
UniformBufferHandle createUniformBuffer (std::ptrdiff_t size)
 
void bindUniformBufferToShader (ShaderHandle shaderHandle, UniformBufferHandle uniformBufferHandle, std::string_view name)
 
void updateUniformBuffer (UniformBufferHandle handle, const void *buffer, std::ptrdiff_t length)
 
void updateUniformBufferPart (UniformBufferHandle handle, std::ptrdiff_t start, const void *buffer, std::ptrdiff_t length)
 
void destroyUniformBuffer (UniformBufferHandle handle)
 
MeshHandle createMesh (const std::vector< Vertex > &vertices, const std::vector< Index > &indices, MeshDrawMode drawMode)
 
void updateMesh (MeshHandle *handle, const std::vector< Vertex > &vertices, const std::vector< Index > &indices, MeshDrawMode drawMode)
 
void drawMesh (MeshHandle handle, MeshDepthFunction depthFunction, MeshCullType cullType)
 
void destroyMesh (MeshHandle handle)
 
void initImGui (SDL_Window *window, void *context)
 
void startImGuiFrame ()
 
void endImGuiFrame ()
 
void destroyImGui ()
 
void initImGui (SDL_Window *window, SDL_Renderer *renderer)
 

Detailed Description

OpenGL render backend.

OpenGL 4.1 (or 4.3) render backend.