WnCC - Seasons of Code
Seasons of Code is a programme launched by WnCC along the lines of the Google Summer of Code. It provides one with an opprtunity to learn and participate in a variety of interesting projects under the mentorship of the very best in our institute.
List of Running Projects
- Browser Based PDF manager
- Resume Script Generator
- Physicc : A Simple Physics Engine
- Image Colorization
- Language Model Based Syntax Autocompletion in a Text Editor
- Computer vision based web app
- Cribbit Cribbit (Open for PGs Only)
- Techster Texter
- Language Detection
- Book Tracker
- ResoBin - Not the bin we deserve but the bin we need!
- Agree to disagree
- Watson (World's smartest assistant in your pocket)
- Meta Learning - Learning to Learn
- Break free of the matrix, by building one!
- Procedurally Generated Infinite Open World
- Introduction to App Development
- PAC MAN
- Introduction to Web Development
- Goal ICPC
- Traffic congestion modelling and rendering
- Tools for Data Science
- Machine Learning Based Metropolitan Air Pollution Estimation
- Audio controlled drone
- NLPlay with Transformers
- DIY FaceApp
- A Deep Dive into CNNs
- Competitive Coding
- Snake AI
- Facial Recognition App
- Gaming meets AI !!!
- R(ea)L Trader
- Computational Geometry
- Deep reinforcement learning - 2048 AI
- Reinforcement Learning to Finance
- Developing Hybrid ANN-Statistical Model for Robust Stock Market Prediction
- Astronomical Data-modelling and Interpretation
- Visual Perception for Self Driving Cars
- Convolutional Neural Networks and Applications
- Quantum Computing Algorithms
- Algorithm Visualizer
- Anime Club IITB Website using Django
- Machine Learning in Browser
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: https://github.com/paragchaudhuri/cs475-tutorials/tree/master/Tutorial_00
- Link to OpenGL tutorial: https://learnopengl.com/
- Other: https://www.cse.iitb.ac.in/~paragc/teaching/2019/cs475/
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 Project Timeline
|Week Number||Tasks to be Completed|
|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 8||Explore implementing Terrain, clouds, light shafts|