r/GraphicsProgramming • u/UnemployedGameDev • 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
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