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
Overview
Write a program that draws spheres with shadows and reflections by tracing rays.
Skills you will use
Materials and tools
- Computer with a C++ compiler
Tools and software
Step-by-step roadmap
Start
You will finish with: a rendered image and the code that produced it.
- 1
Prerequisites
Nothing special to know first. Then collect the 1 item in the materials list.
- 2
Learn
Read up on computer graphics: ray tracing, rendering, vectors. Your textbook chapter and one short video are enough.
- 3
Plan
List the features for version one, sketch the screens or data flow and pick the tools. Keep the first version small.
- 4
Build
- Write a vector class.
- Shoot a ray per pixel and test for sphere intersection.
- Add diffuse shading from a light.
- Add shadows and reflections.
- Add anti-aliasing and save the image.
- 5
Test
Try it with wrong, empty and unusual input, and ask someone else to use it without your help.
- 6
Document
Write a README: what it does, how to run it, screenshots and what you learned. Report structure
- 7
Present
Show a live demo of one complete task, then the design and the hardest problem you solved. Presentation structure
- 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).
Use this as the outline of your README or case study.
- Problem
- You write thisThe problem in one or two sentences.
- Why it matters
- You write thisWho has this problem and what it costs them.
- What was built
- A rendered image and the code that produced it.
- Technology
- C++
- Architecture
- You write thisOne diagram: the parts and how data moves between them.
- Implementation
- You write thisThe 5 build steps in your own words, with one code or design decision you are proud of.
- Challenges
- You write thisThe hardest bug or decision, and how you got past it.
- Results
- You write thisNumbers: accuracy, speed, users, survey answers.
- Demo and code
- You write thisA link to a live demo or a short video, and to the GitHub repository.
- Lessons learned
- You write thisWhat you would do differently next time.
- Future improvements
- Add refraction, textures and a bounding-volume speed-up.
- Problem
- Write a program that draws spheres with shadows and reflections by tracing rays.
- Target user
- You write thisOne specific person: who they are and when they would use this.
- Solution
- Write a program that draws spheres with shadows and reflections by tracing rays.
- First version (MVP)
- You write thisThe smallest version that shows the idea working once, end to end.
- Tech stack
- C++
- Architecture
- You write thisA quick sketch of the parts and how they connect.
- Demo
- You write thisThe one scenario you will show live, start to finish, in under two minutes.
- Stretch goals
- Add refraction, textures and a bounding-volume speed-up.
Team roles
Plan by length
24-hour
- Hours 0–2: agree the problem, the user and the one thing the demo must show
- Hours 2–16: build only the first version
- Hours 16–20: test the demo path end to end and fix what breaks
- Hours 20–24: slides, a 2-minute demo script and a backup recording
48-hour
- Evening 1: problem, user, sketch and task split
- Day 1: first version working end to end
- Day 2 morning: one stretch goal and testing
- Day 2 afternoon: polish, slides and demo practice
1-week
- Day 1: research the problem and talk to two possible users
- Days 2–4: first version
- Day 5: stretch goals
- Day 6: testing and write-up
- Day 7: demo video and presentation
Report and presentation
Report structure
- Title and summary
- Problem and target user
- Features
- Tools and technology
- Design: architecture, data model or screens
- Implementation
- Testing
- Results and screenshots
- Challenges
- Future improvements
- References
Presentation structure
- The problem
- Who it is for
- Live demo
- How it is built (one diagram)
- The hardest part
- Testing and results
- What you learned
- 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.
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.
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.
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.
Same tools
Programming + Pure Mathematics
Write classic sorting algorithms and race them
Implement bubble, insertion, merge and quick sort and plot how their running time grows.
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.
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.
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.
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.
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.
Artificial Intelligence · Computer Vision
Build an image search engine
Find visually similar images by comparing feature vectors from a pretrained network.
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.
Software Development + Entrepreneurship
Build a price comparison tool for textbooks
Let students list and find second-hand textbooks on campus and compare prices.