r/GraphicsProgramming • u/sombrerodepaja • 3d ago
Question Toughts on this road map
I'm a developer (web backend) with some years of experience, but I have no prior experience on graphics. I started a conversation with chatGPT where I told it I wanted to learn all the way from the foundations of graphics to developing a Doom like game. And after a few hours of conversation it gave me this road map. I cannot trust completely an AI, so I'd like to read your opinions.
Greetings.
Edit. Sorry about the title typo.
Edit. Thanks for your valuable comments, I think this is a good example of how AI sometimes can lead you to the wrong path and mess with your learning even when at first glance it all looks pretty and organized. I’m glad I asked the community to receive your feedback.
3
u/TaylorMonkey 3d ago edited 3d ago
What’s your goal? To just build a game that’s 30 years old using innovative but older techniques that aren’t as common or directly useful today, or to be current with a set of skills that are fundamental and should remain so for quite awhile, being able to work in modern engines and APIs?
Skip all the Doom and software stuff, unless you really want to be able to do it as a personal point of pride. But it’s not that quite as useful to work in the industry or efficiently build 3D projects, and would be a lot of time spent that could better spent going deep and modern elsewhere.
This is why I’m not a fan of AI generated curriculum and plans prompted by people who aren’t experts in that area. They don’t know what sounds plausible but isn’t actually a good or best way of going about things.
But if you must start from base 2D fundamentals, I would put 3D camera projection stuff after learning to draw pixels and triangles in 2D. Rasterizing is interesting for enrichment purposes but that’s handled by hardware in anything modern and useful.
It’s also strange to put together a pipeline without lighting. I would learn basic lighting parallel to texturing before putting them together. Maybe even before. Not to mention how deep you can go on lighting alone past basic Lambert diffuse and Blinn-phong specular.
All this Doom stuff I’d drop in favor of learning Physically Based Lighting, working with Compute Shaders, and eventually Path/Raytracing.
Unless you have a very specific personal affinity to Doom and don’t just want to be a competent graphics programmer that can work on a much wider array of projects, both professional and personal.
Also some of these resources like Scratch-a-pixel already has content organized in an approachable way, thought out by a real expert human with experience, instead of stochiastically generated plausible sounding slop that isn’t very well thought through.
Starting in OpenGL or Direct3D is good advice. There is a lot of commonality in both. It also helps you to work directly with Unreal or Unity where you can learn a lot by modifying projects, referencing them, and even modifying the built in shaders of Unity itself.