Skip to content

This is my attempt at making a minecraft clone using exclusively voxel raytracing and procedural textures. C++ and OpenGL.

Notifications You must be signed in to change notification settings

StormCreeper/Minecraft-Raytracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minecraft-Raytracing

This is my attempt at making a minecraft clone using exclusively voxel raytracing and procedural textures.
I'm using one primary ray for the base block color, and two reflection and refraction rays for the visual effects.
The map generation is done procedurally in a compute shader, to allow very fast generation of vast worlds.
The textures are also procedural, computed in the fragment shader, so each block can have a different appearance, and be at a virtually infinite resolution.

The game currently doesn't support any acceleration structure, and the whole world is stored in one big OpenGL 2D texture, so it isn't infinite. I also know the procedural textures takes quite the GPU load, but it was just a fun experiment to see how far I could go with fully procedural worlds running on the GPU.

Images

Procedural terrain generation 1
Procedural terrain generation on the GPU



Procedural terrain generation 2
Showcasing rivers



Animated water
Animated water with reflections



Minivoxels 1
I also implemented sub-voxels of arbitrary size, that we can load from magicavoxel



Minivoxels 2
Another detailled log



Procedural sky
Procedural sky using noise to fake clouds



Procedural bricks
Showcasing procedural bricks



Procedural ore veins
and ores



About

This is my attempt at making a minecraft clone using exclusively voxel raytracing and procedural textures. C++ and OpenGL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages