Not exactly years of programming. But years of studying computer graphics, as applied to games.
I bet I could show this article to myself back when I started CompSci and be able to comprehend most of it. But I was a Gamedev.Net addict, tried my hand at competitions and tried to write my own 3d engine. At some point, my mathematical knowledge became the bottleneck.
There are a lot of established methods, you can pick a lot by reading SIGGRAPH, but that's too heavy early on. If you are truly interested, you should start by learning how to put simple 3d geometry on screen. Then, when trying to figure out how to make things look better, you'll naturally gravitate to learning what you need.
Nowadays, it is much easier to start, since we have WebGL and all you need is a browser and javascript. On the other hand, shaders are now a mandatory part of the rendering pipeline, so you need to learn those.
When trying to apply these techniques in real games, there's indeed lots of experimentation. And many times game developers come up with novel techniques. See papers by Valve, for instance.
I bet I could show this article to myself back when I started CompSci and be able to comprehend most of it. But I was a Gamedev.Net addict, tried my hand at competitions and tried to write my own 3d engine. At some point, my mathematical knowledge became the bottleneck.
There are a lot of established methods, you can pick a lot by reading SIGGRAPH, but that's too heavy early on. If you are truly interested, you should start by learning how to put simple 3d geometry on screen. Then, when trying to figure out how to make things look better, you'll naturally gravitate to learning what you need.
Nowadays, it is much easier to start, since we have WebGL and all you need is a browser and javascript. On the other hand, shaders are now a mandatory part of the rendering pipeline, so you need to learn those.
When trying to apply these techniques in real games, there's indeed lots of experimentation. And many times game developers come up with novel techniques. See papers by Valve, for instance.