This is my final year project for my Computer Science degree
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Resources
external
licenses
postbuild
premakes
settings_ui
src
.gitattributes
.gitignore
README.md
astyle-clean.bat
astyle-clean.sh
astyle.conf
astyle.exe
create-projects.bat
create-projects.sh
mac_premake4
premake4
premake4.exe
premake4.lua

README.md

PlanetGeneratorFYP

planet-8

This was developed as part of my final year project during the first 6 months of my final year at university. It consists of various modules, including: mesh generation, noise generation, texturing, lighting, level of detail, camera and movement systems, atmosphere simulation and, on the correct hardware, 3d/VR display.

The sphere generation is done by subdividing a cube into a number of segments and normalizing all the vertices to turn the cube into a sphere. A "noise" amount is generated and applied to the length of each vertex to achieve a more realistic planet shape.

Texturing and lighting are applied via shaders, the variables of which can be controlled using the user interface. The level of detail is achieved via quadtree subdivision of the planets mesh.

The system was developed to run using a variety of controllers via a simple interface structure. The requirements for this came for the necessity for the program to run on a 3d projection system, where the scene is rendered to each projector with a small variation in its camera in order to achieve 3d display, and where just using a mouse & keyboard wouldn't be possible.

terrain-1 terrain-2 terrain-3 planet-1 planet-2 planet-3 planet-4 planet-5 planet-6 planet-7 planet-9 planet-10 planet-11 planet-12 planet-13 planet-14 planet-15