mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-08 09:47:01 +08:00
913809a5f01a1bb05813f6f295b192b1afd434ff
* refactor(render): move render files to subdirectory, add RAII vertex buffer/array classes * refactor(render): encapsulate OpenGL textures into Texture class * refactor(texture): encapsulate textures with unique_ptr and bind methods Replace raw GLuint framebuffer textures with std::unique_ptr<Texture>. Update TextureManager to return const Texture* instead of GLuint. Use Texture::bind() for active texture binding. Add RGBA16F and RGB formats. Add texture parameter methods. Update destructors accordingly. * refactor(render): use Texture, VertexBuffer, VertexArray classes * feat(render): add FrameBuffer class to encapsulate framebuffer operations * refactor(render): extract world rendering into WorldRenderer class * refactor(render): rename projection and model matrix members for clarity * chore(render): remove unused matrix members * fix(texture-manager): correct delet_texture typo and add null checks for textures
What's it
A cube game like Minecraft, using C++ and OpenGL.
Build Guide
Prerequisites
- CMake (>= 3.24)
- C++ 23 compatible compiler
Step
- Clone the repository
git clone https://github.com/zhenyan121/Cubed.git && cd Cubed - Configure with CMake
mkdir build && cd build cmake -G "Ninja" .. - Build the project
ninja
Languages
C++
96.8%
C
2.1%
GLSL
0.6%
Python
0.3%
CMake
0.2%