Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 1.32 KB

Readme.md

File metadata and controls

47 lines (29 loc) · 1.32 KB

🌎 Hello, World 🌍

This project takes an .obj file as input and renders the 3D object with texture mapping and bump mapping.

Built With

  • C++
  • Eigen library (for linear algebra)
  • OpenGL (version 4.1.0)
  • GLSL (version 4.10)
  • GLFW

User Input

  • 'u' scales the earth up
  • 'd' scales the earth down
  • 'r' to rotate the earth
  • 'z' to spin the scene with the camera
  • '-' to zoom out with the camera (perspective mode only)
  • 'b' toggles between terrain bump map to bricks bump map
  • can also change between orthographic and perspective projection in main.cpp

Texture Mapping

Two texture maps (daytime and nighttime) linearly interpolated depending on Phong shading computed at that point.

alt text

Bump Mapping

With topographical bump map:

alt text

With brick bump map:

alt text

Animation

To see the world animated, you can check out this video.

Acknowledgements

Object data made by Glenn Campbell, ideastudio on www.free3d.com.

Maps supplied by NASA.