Mini minecraft project

(This is a school project)

This is the final group project of  Interactive Computer Graphics course.
The goal of this project is to build from an empty QT project that has nothing implemented to a level where it can show similar graphics as MineCraft.
I’m responsible for Perlin Noise Terrain, Texture Animation, Skybox, Day & Night Cycle, Shadow Mapping and Post Process Effect for Snow and Rain

All Features

  • Perlin Noise Terrain
  • Perlin Worm Caves
  • Chunk Terrain Rendering
  • Terrain Collisions and Physics
  • Texture Animation(Water and Lava)
  • L-System River
  • Skybox
  • Snow and Rain
  • Shadow Mapping
  • Day & Night Cycle
  • Fire
  • Inventory GUI
  • Post Process Effect

Perlin Noise Terrain

Using a continuous 2D Perlin noise function, create terrain blocks using a height field. When a new chunk of terrain is generated,  its contents blend seamlessly with the chunks of terrain generated at the current world boundary.

Day & Night Cycle

I modified the direction of light, color of light, intensity of light, and color of the sky over a period of time to simulate a day/night cycle. In addition, I used a series of textures that are mapped to a cube that is rendered as the skybox. These textures blend between one another as time advances.

Shadow Mapping

I created simple dynamic real-time shadows using the technique known as shadow mapping. And, I divided the areas of shadow to implement cascade shadow for better quality.

Post Process Effect

 When the weather is changed to rain or snow, post process effect is executed. I inspired this from Rise of the Tomb Raider.