1 of 15

Natural Terrain

Ian Dong, Zack Oon, Colin Steidtmann, Satvik Muddana

2 of 15

Goal → Recreate Beautiful Natural Effects

3 of 15

Our Best Recreations

4 of 15

Fog

Implemented a shader to render fog in a scene based on the distance of the fragment to the camera

Exponential Squared Fog

5 of 15

Grass

Gif goes here

6 of 15

Grass Billboards!

7 of 15

Grass Positioning & Shading

8 of 15

Sky Box

  • Create cube map of 6 textures
  • Sample cube based on direction vector

9 of 15

Water

The start

Water plane added

10 of 15

Water

Reflection + Refraction

The reflection’s camera position.

image credit: ThinMatrix’s water tutorial

11 of 15

Water

Distortion + Movement

12 of 15

Unfortunately, Nature is More Than Pixels

13 of 15

Base Terrain Found on GitHub

Challenge:

  • The repository didn’t include OpenGL and all the dependencies directly

Our Solution:

  • Make a CMake file for the project and include the dependencies directly in it

14 of 15

Character Movement

The starter code didn’t come with up/down keys, so we added up/down keys

15 of 15

Struggles and Next Steps

  • Still working on adding grass, had difficulty figuring out how to get the grass coordinates inputted into our shader
  • Planning on adding realistic snow
  • Need to work on our shading and blending code
  • Water issues:
    • Texture mapping of the surroundings, reflection, refraction, and transparency will be added to the water for the final product
    • Future changes will be made to create local 2D bounding boxes for islands of water (optimization)
    • There are currently visible issues with Z-fighting