technifyed

Games, Graphics and New Tech + Pure Mathematics

Render a 3D scene with a ray tracer

Write a program that draws spheres with shadows and reflections by tracing rays.

  • DifficultyAdvanced
  • Estimated time2–4 weeks
  • Budget₹0
  • ClassCollege
  • TeamSolo
  • You needComputer only

Prerequisites: None beyond your class work

Original · by TechnifyedPortfolio ProjectSoftware ProjectFree to doComputer onlyPortfolio focusedTwo subjects

My projects

Overview

Write a program that draws spheres with shadows and reflections by tracing rays.

Skills you will use

OptimisationRecursionVector maths

Materials and tools

  • Computer with a C++ compiler

Tools and software

C++

Expected cost₹0Nothing to buy
Estimated duration2–4 weeks5 build steps, plus the report

Step-by-step roadmap

  1. Start

    You will finish with: a rendered image and the code that produced it.

  2. 1

    Prerequisites

    Nothing special to know first. Then collect the 1 item in the materials list.

  3. 2

    Learn

    Read up on computer graphics: ray tracing, rendering, vectors. Your textbook chapter and one short video are enough.

  4. 3

    Plan

    List the features for version one, sketch the screens or data flow and pick the tools. Keep the first version small.

  5. 4

    Build

    1. Write a vector class.
    2. Shoot a ray per pixel and test for sphere intersection.
    3. Add diffuse shading from a light.
    4. Add shadows and reflections.
    5. Add anti-aliasing and save the image.
  6. 5

    Test

    Try it with wrong, empty and unusual input, and ask someone else to use it without your help.

  7. 6

    Document

    Write a README: what it does, how to run it, screenshots and what you learned. Report structure

  8. 7

    Present

    Show a live demo of one complete task, then the design and the hardest problem you solved. Presentation structure

  9. 8

    Publish

    Put the code on GitHub with the README and, if you can, deploy a live demo.

Expected outcome

A rendered image and the code that produced it.

Other versions of this project

Advanced version

Add refraction, textures and a bounding-volume speed-up.

Ways to do this project

Text marked "You write this" is a prompt for your own work; everything else is specific to this project.

Research question
You write thisOne question you can answer with data, narrow enough to finish in the time you have.
Hypothesis
You write thisWhat you expect to find, and why.
Variables
You write thisWhat you change or compare, what you measure, and what you hold constant.
Methodology
You write thisDescribe the method in enough detail that someone else could repeat it: sample, tools, procedure.
Data collection
You write thisSay what you will record, how many times, and how you will keep the records safe.
Analysis
You write thisChoose the table, chart or test that answers the question; report averages with their spread.
Limitations
You write thisList what could have affected the result: small sample, instrument limits, things you could not control.

Literature review

Find five to eight sources (your textbook, review articles, reports) and note what each says about your question. Group them by idea, not one after another, and end with what is still not known.

References

List every source you used in one style throughout (author, year, title, where it was published, link and the date you opened it).

Report and presentation

Report structure

  1. Title and summary
  2. Problem and target user
  3. Features
  4. Tools and technology
  5. Design: architecture, data model or screens
  6. Implementation
  7. Testing
  8. Results and screenshots
  9. Challenges
  10. Future improvements
  11. References

Presentation structure

  1. The problem
  2. Who it is for
  3. Live demo
  4. How it is built (one diagram)
  5. The hardest part
  6. Testing and results
  7. What you learned
  8. What comes next

Viva questions

Prepare your own answers to these before you present.

  • What is the aim of your project, in one sentence?
  • What is the principle behind it?
  • Why did you choose these materials or tools?
  • What result did you get, and was it what you expected?
  • What went wrong and how did you fix it?
  • How could this be improved or used in real life?

Resources

Source and attribution

Original

Written by Technifyed. Free to use for your own school or college project; write the report in your own words. Added 1 Oct 2026.

Similar projects

More Games, Graphics and New Tech projects

Games, Graphics and New Tech + Physics

Simulate a quantum circuit

Write a small simulator for one and two qubits and reproduce a Bell state.

  • Advanced
  • 2–4 weeks
  • Free
Simulation · Computer onlyView

Games, Graphics and New Tech + EdTech and Study Tools

Create an augmented reality model viewer

Show a 3D model of the heart or solar system on a table through a phone camera.

  • Advanced
  • 2–4 weeks
  • Free
Mobile App · A phoneView

Games, Graphics and New Tech + Graphic and UI/UX Design

Build a 2D platformer game

Make a platform game with three levels, enemies, collectables and a menu.

  • Intermediate
  • 2–4 weeks
  • Free
Game · Computer onlyView

Games, Graphics and New Tech · Blockchain

Build a simple blockchain

Implement blocks, hashes, proof of work and validation to see how a chain resists tampering.

  • Intermediate
  • 1–2 weeks
  • Free
Software Project · Computer onlyView

Same tools

Two-subject alternatives

Electrical Engineering + Robotics, IoT and Hardware

Build a PID temperature controller

Hold a small heater at a set temperature and tune the controller from its step response.

  • Advanced
  • 2–4 weeks
  • 1,000–2,500
Hardware Project · Arduino requiredView

Programming + Systems and Cloud

Build a tiny key-value store in Rust

Write a persistent key-value database with get, set and delete and an append-only log.

  • Advanced
  • 2–4 weeks
  • Free
Software Project · Computer onlyView

Music, Theatre and Writing + Robotics, IoT and Hardware

Build an interactive installation

Make an artwork that responds to people with light or sound as they approach.

  • Advanced
  • 2–4 weeks
  • 1,000–2,500
Interactive Experience · Arduino requiredView

Mechatronics and Robotics + Robotics, IoT and Hardware

Design a maze-solving robot

Build a robot that explores a maze with wall sensors and then runs the shortest path.

  • Advanced
  • 2–4 weeks
  • 2,500–5,000
Robotics Project · Arduino requiredView

Same difficulty and budget

Data · Data Engineering

Build a data pipeline that runs every day

Fetch a public data feed daily, clean it, store it in a database and chart the history.

  • Advanced
  • 2–4 weeks
  • Free
Software Project · Computer onlyView

Artificial Intelligence · Computer Vision

Build an image search engine

Find visually similar images by comparing feature vectors from a pretrained network.

  • Advanced
  • 2–4 weeks
  • Free
AI/ML Project · Computer onlyView

Artificial Intelligence + Media and Journalism

Detect fake news headlines with machine learning

Train a classifier on a public dataset and show why it learns the source's style, not the truth.

  • Advanced
  • 2–4 weeks
  • Free
AI/ML Project · Computer onlyView

Enter your email and the official page opens. Phone is optional.