CMPS-3480 - Computer Graphics

Terrain generation using Perlin Noise, by Joshua Garibay

Features:

Finished result


10/24/25 - Basic movement working

Set up initial scene with some cubes using lab-6 as a framework. Used spaceship framework to get some basic movement with keyboard to work with the x11 window


10/28/25 - Rendered a grid of quads

Got turning with mouse to work and improved movement using https://learnopengl.com/Getting-Started/Camera. Got physics timers from spaceship framework working for consistent movement speed. Filled an array of vertices for points on a grid to render with GL_QUADS.

Attempting to use GL_TRIANGLES instead

Got GL_TRIANGLES working, each square is now made up of two triangles

Change from using a constant height of 0 to using Ken Perlin's noise algorithm from lab-3

After some research, added scale and amplitude variables to function call to perlin noise for more natural looking terrain (https://rtouti.github.io/graphics/perlin-noise-algorithm). Also made terrain larger for testing


10/29/25 - Fixed normals

Fixed the normals for each triangle face for better lighting


10/30/25 - Begin adding gravity

Added a keybind to toggle gravity to walk on the terrain


10/31/25 - Add grass texture

Brought in Gordon's texture class. Rendered a quad with a grass texture for testing