Skip to content

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

Notifications You must be signed in to change notification settings

EricaHD/HelloWorld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌎 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.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published