About

This repository is for a Voxel Game Engine based on this blog post.

Currently, however, the program only renders a single cube.

a wireframe cube

World Mesh Rendering - 11/10/25

World now renders as a single mesh! Much faster than rendering cube by cube.

cube world

Chunk Mesh Rendering - 11/11/25

Instead of making the entire world a single mesh, now the world is made up of 32x32x32 "Chunks" which are areas of the world that are a single mesh.

cube world (but in chunks!)

0.4.0 : Chunk Generation - 11/12/25

Chunks now generate around the player in a square based on a render distance. This allows the flat plane to be infinite!

infinite flat cube world

0.5.0 : Voxel Types - 11/12/25

Different voxel types are now supported in the data structures and passed to the shaders.

a world of dirt with some stone blocks

0.6.0 : Raycasting Placing - 11/13/25

When placing a block, the program now raycasts to place where the camera is looking.

a place of brown dirt with word Hi built out of stone.

0.6.1 : Raycast Bug Fixes - 11/17/25

It took me a couple of days to fix the ray casting. I forgot that my mesh is offset by 0.5, so 3/4 raycasts looked at least a block off of what the camera was looking at.

Hello, written in blocks on a dirt plane

0.7.0 : Physics - 11/18/25

Woah! The camera doesn't just phase through placed blocks anymore! The camera can also fall into the void for eternity! So cool!

The camera, sitting atop a built platform, overlooking another "Hi" built from stone

Description
No description provided
Readme 1.6 MiB
Languages
C++ 80.8%
C 18.2%
Objective-C 0.8%
CMake 0.1%