Skip to content

3D environment generator utilizing perlin noise for terrain and moisture mapping

Notifications You must be signed in to change notification settings

drewdearing/perlin

Repository files navigation

Getting Started

Build

mkdir build
cd build
cmake ..
make -j8

Execution

cd build
./bin/skinning

Project Features

Camera Movement + Animation

For camera rotation, we use the GLSL on the GPU to parallelize the process of rotating the model and avoid updating bone information on the CPU.

Additionally, we made it so that as the character moves, she will animate movement in her legs.

Character Swapping

We construct different render passes for each Character, and store all relevant information in a Character Class, and the input handler can switch between different character models without losing the stored character information.

Gravity Attempt

We have the character jump directly upwards on the y-axis, using simple physics simulation.

Velocity = Initial Velocity + (Acceleration * Time)

If we’re in the air, we check every frame to make sure if we are equal to height of the land or below it, and if so, set the height to the floor of the map.

Water Animation

We have a set water level and render water at that height.

We use 3D Perlin Noise to simulate the shifting tides of the water.

Perlin Levels and Moisture Map

We use Perlin Noise to generate 2 maps: Elevation and Moisture.

We use the elevation values to determine what height the map will be, and use the elevation and moisture values in order to determine different biomes, represented by a blended color.

Free-Cam Mode

You can change to free cam mode in order to fly and explore the map. This way, you can see the entire map in all of its radius-bounded glory and creation.

Acknowledgement

Made by Drew Dearing, Jesus Martinez, and Eric Lee.

This bone animation code is based on the skinning project written by Randall Smith for 2015 Spring Graphics Course.

The PMD parser library is written by itsuhane, licensed under Boost Software License.

The author of PMD models is Animasa, you can download the model with the official editor from his webpage VPVP.

About

3D environment generator utilizing perlin noise for terrain and moisture mapping

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages