Ray Tracing


  • App Development

  • Web Development


Mentors :

  • Anand Bhaskar

Mentees :

  • 4


"Path tracing is a type of ray tracing, which means we are going to shoot a ray into the world out of every pixel. For each individual ray, we are going to see what it hits and use that information to give a color to our pixel. Doing that for every pixel independently gives us our final image. You will be required to first build a simple raytracing engine which will be able to: Generate a PNG image of a raytraced sphere. Apply anti-aliasing. Accurately simulate different types of materials like metals and dielectrics. Mimic a real life camera and its features. I would be following these links: https://blog.demofox.org/2020/05/25/casual-shadertoy-path-tracing-1-basic-camera-diffuse-emissive/ https://www.youtube.com/watch?v=Qz0KTGYJtUk&t=2s https://itc.gymkhana.iitb.ac.in/wncc/soc/projects/2022/project269.html"
Prerequisites:
No prerequisites as such. A lot of enthusiasm and curiosity.

Tentative Timeline :

Week Work
Week 1 Learn about how raytracing works and the functionalities you would be implementing.
Week 2 3D vector class.
Week 3 Implementing stb_image for generating PNGs and a basic ray class.
Week 4 Implementing a simple camera class and obtaining a primitive image.
Week 5 Sphere class and surface normals.
Week 6-7 Implement an interface for hittable objects and add support for multiple objects in a scene.
Week 8 Antialiasing and materials and implement an advanced camera class.