Planet/Atmosphere Renderer using OpenGL


  • Computer Graphics


Mentors :

  • Rwitaban Goswami
  • Arpit Singh

Mentees :

  • Manan Garg
  • Andrews George
  • Deep Satra
  • Avin Rai
  • Harshit Srivastava
  • Ridayesh Parab
  • Raj Aryan Agrawal
  • Pradipta Parag Bora
  • Nabeel Ahmed
  • Sanidhya Anand
  • Rajvi Savla
  • Sambit Behera
  • Atharva Warhade
  • Dev Pratap Singh
  • Jay Vijay Sonawane
  • Mihir Shashikant Ghumbre
  • Meghna Dixit
  • Abhishek N Bhavsar
  • Ritik Mandal
  • Kaustubh Dighe
  • Shabnam Sahay


Build a real time planet renderer engine.

This project is aimed towards people interested in the exciting field of Computer Graphics and Rendering, and would want to get a taste in how cutting edge Game Engines, especially the rendering part, work. The only pre-requisite for this project is some basic knowledge of C++ (very basic, not even OOP required), and of course enthu!

The aim of this project will be to ultimately build a real time engine capable of rendering a planet, complete with atmospheric scattering, terrain, light shafts, clouds and any other features that can be thought of.

Each mentee will have to first read up and get comfortable with OpenGL in C++
- Link to setting up OpenGL
- Link to OpenGL tutorial
- Other

S/he should get familiar with the graphics pipeline, how to write GLSL shaders, how to write VBO and VAO code in OpenGL (C++), and the Modelling-Viewing-Pipeline. This is expected to take about a month.

Next the mentee will be expected to learn the basics of Shading- Gouraud, Phong, Blinn-Phong Shading. This is expected to take a week.

Next the mentee will be expected to research and find out how to implement planet specific shaders, eg atmospheric scattering shader, volumetric cloud shader etc. This is expected to take up the latter month of the project.

Tentative Timeline :

Week Work
Week 0 Read some basic slides on rasterization, clipping, 2D and 3D transformations
Week 1 Setting up OpenGL and the first trivial example
Week 2 Understanding Boilerplate code, graphics pipeline and what VAO, VBOs do. Play around
Week 3 Understand Modelling-Viewing-Pipeline. Play around. Build a basic interactive movable model
Week 4 Understand and implement Blinn-Phong Shading. Introduce this to the interactive model
Week 5 Research on Atmospheric Shaders
Week 6 Implement Atmospheric Shaders (single/multiple scattering). It is really preferred if multiple scattering could be implemented
Week 7 Buffer
Week 8 Explore implementing Terrain, clouds, light shafts