This project is currently a work in progress, aiming to develop a planet renderer. The implementation incorporates various rendering techniques, including the use of hull shaders/domain shaders (Tessellation shaders) to add extra detail to the environment as the viewer gets closer. The environment. This project is uses the Curium engine, a custom engine that I developed as a foundational renderer for any new projects I plan to create. You can follow the process via github find the Link
Creating a realistic planet rendering system is a big task, with elements like LOD, Atmosphere, Gravity, and Height differences to consider. To start, I set up the base renderer for rendering meshes. Then,
I worked on creating a terrain mesh and implemented Quad-tree subdivision to make it into a cube sphere. Breaking it into smaller tasks helped manage the workload.
Understanding and implementing the atmosphere was another major challenge, requiring a deep dive into math. Despite its complexity, I tackled it by breaking it down and seeking guidance as needed. With each step,
I'm getting closer to my goal of creating a realistic planet rendering system.
For this project, I implemented a system to dynamically create and delete tiles in order to increase the number of vertices visible. The aim was to increase the detail in the parts of the planet that are close to the camera. To achieve this, I employed a quadtree structure to efficiently subdivide the area into four smaller pieces.
I wanted to create a realistic-looking planet, which required an atmosphere. I found a paper detailing optimized atmospheric light scattering from NVIDIA, and I've implemented it. Click here for article