summaryrefslogtreecommitdiffstats
path: root/src/game/client/world/voxel_atlas.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/client/world/voxel_atlas.hh')
-rw-r--r--src/game/client/world/voxel_atlas.hh28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/game/client/world/voxel_atlas.hh b/src/game/client/world/voxel_atlas.hh
new file mode 100644
index 0000000..70e8a1e
--- /dev/null
+++ b/src/game/client/world/voxel_atlas.hh
@@ -0,0 +1,28 @@
+#pragma once
+
+namespace world
+{
+struct AtlasStrip final {
+ std::size_t offset;
+ std::size_t plane;
+};
+} // namespace world
+
+namespace world::voxel_atlas
+{
+void create(int width, int height, std::size_t count);
+void destroy(void);
+} // namespace world::voxel_atlas
+
+namespace world::voxel_atlas
+{
+std::size_t plane_count(void);
+GLuint plane_texture(std::size_t plane_id);
+void generate_mipmaps(void);
+} // namespace world::voxel_atlas
+
+namespace world::voxel_atlas
+{
+AtlasStrip* find_or_load(const std::vector<std::string>& paths);
+AtlasStrip* find(const std::vector<std::string>& paths);
+} // namespace world::voxel_atlas