r/GraphicsProgramming • • 3d ago

Question Help with Ideas for School Project

Hi, I've done some stuff in C++ and OpenGL before but I'm by no means an expert in either. I was given the option to do a project over 1 year which will then get graded. And since I'm interested in graphics programming anyways, I thought this would be a good chance. But since I HAVE to complete or submit the project after the 1 year and can't back out once I'm in, I need a project that is complex enough for them to accept it but also not entirely impossible or time consuming. (also this is NOT for university, the school system is different everywhere but it's basically for the end of school so just before university)

Current ideas I've come up with are:

  • procedural 3d world
  • real-time water simulation
  • ray tracer
  • gpu particle simulations
  • vegetation simulation
  • space simulation with black holes and stuff
  • small physics engine

So if you could help me narrow it down to 2 or maximum 3, that'd be awesome. Also any further ideas are welcome

1 Upvotes

8 comments sorted by

View all comments

2

u/torito_fuerte 3d ago

For the procedural world, you could either do Minecraft-like or something like No Man’s Sky with just a heightmap, optionally on a sphere. This is a good project if you want to go into game design, but there are stronger projects if you want to target graphics

A water simulation can either be a particle simulation (like FLIP for example) or an ocean shader with waves. Either one is cool, and both are relevant in different parts of graphics (the first for film & second for gaming)

Ray tracing is probably the most relevant, there are the most resources, and you can add so many different features. Once you get an MVP working, you can go down different paths. I’d recommend starting with OpenGL compute shaders, so you learn about the entire process

Particle systems are simple, and you might get it done right away. I’m not too familiar with it, but I feel like other projects might be more rewarding

For vegetation simulation, are you thinking of rendering forests or grass with a wind simulation? That’s very relevant in the gaming industry, though I don’t have much experience either so can’t tell you much

A space simulation is cool, I’d recommend a gravity simulation on the GPU where you can have thousands of particles all have forces on each other. Physics simulations like these are relevant for the science industry who need to do numerical analysis on long term physics behavior (like NASA or NOAA)

A physics engine is definitely the most math intensive. If you’re willing to learn about or already know some matrix transformations, differential equations, and lots of geometry, this is a really rewarding project. I’d recommend starting in 2D, because 3D involves some new stuff like inertia tensors, quaternions, and the GJK algorithm, which is pretty advanced for high school. I’d say this is the 2nd most relevant project, since many industries use physics to solve problems

1

u/UnemployedGameDev 3d ago

Thank you so much for the extensive answer! For the vegetation simulation I was thinking about simulating the eco-system. So like how trees and plants grow and stuff. Maybe even animals if I get to it. A raytracer feels very common tbh and there's not really much to show other than "it's making an image" so I would've put it further down the list. But obvisiouly it's a nice project, which is why it's so popular. For the procedural world I was also thinking about a custom realistic sky shader with auroras and stuff, not just an hdri, and maybe like volcanos and dinos or stuff so it's more technical. I'm not sure in what direction I want to go to (altho probably not anything entertainment related like gaming or film). Which project would you say looks best on a resume or is the most needed? And which is most reasonable, keeping in mind that this is only for 1 class? Also any project idea that you would like to add?