Renders an interactive globe, and lens flares.
Note how the cloud layer parallax effect works: the cloud texture uv coordinates are calculated in the fragment shader via ray-sphere intersection so that the coulds appear floating above the globe.
- key Z: reset camera
- key X: toggle camera orbit axis - when rotating, the camera either orbits around a point or rotates in-place
- mouse left button drag: rotate camera (when the camera is grabbed outside the center, tilt camera)
- shift+left button drag: - or - mouse right button drag: dolly camera (move forwards/backwards)
- ctrl + left button drag: - or - mouse middle button drag: pan camera up/down,left/right
- mipmapping
- bump mapping
- image loading
- geometry shaders
- implements Sean O'Neill's method to calculate atmospheric scattering
Important
This example depends on external image assets. To keep the Island code repository slim, these assets are hosted outside of the repo.
Download image assets via the bash script in the project root folder:
./download_assets.sh
Configure build environment using CMake:
mkdir build
cd build
cmake -G Ninja ..
Note that if you are using Qt Creator you may skip manually setting up the build environment, and simply open the project CMakeLists.txt using Qt Creator.
Build using Ninja:
ninja
Run application:
./Island-HelloWorld