From bd57f345ed9dbed1d81683e48199626de2ea9044 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 27 Jun 2025 10:18:39 -0700 Subject: Restructure project --- src/core/texture.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/core/texture.h (limited to 'src/core/texture.h') diff --git a/src/core/texture.h b/src/core/texture.h new file mode 100644 index 0000000..4af41e9 --- /dev/null +++ b/src/core/texture.h @@ -0,0 +1,35 @@ +#pragma once + +#include + +#include "gl_util.h" + +typedef struct Texture { + GLuint id; + GLenum target; + GLenum format; + GLenum type; + int width; + int height; +} Texture; + +/// Create a new texture. +bool gfx_init_texture(Texture*, const TextureDesc*); + +/// Destroy the texture. +void gfx_del_texture(Texture*); + +/// Converts a TextureDimension into the OpenGL enum equivalent. +GLenum to_GL_dimension(TextureDimension dim); + +/// Converts a texture format into an OpenGL internal format. +GLenum to_GL_internal_format(TextureFormat format); + +/// Converts a texture format into an OpenGL format. +GLenum to_GL_format(TextureFormat format); + +/// Converts a texture format into an OpenGL type. +GLenum to_GL_type(TextureFormat format); + +/// Converts a cubemap face into the OpenGL enum equivalent. +GLenum to_GL_cubemap_face(CubemapFace face); -- cgit v1.2.3