Live data from Hacker News

What to learn to be a graphics programmer

blog.demofox.org

121–130 of 251 posts

Re: What to learn to be a graphics programmer

#121

Earlier quoted context omitted.

SVD is the decomposition of a matrix into two rotation matrices and a scaling matrix, by definition: https://en.wikipedia.org/wiki/Singular_value_decomposition

i don't understand who is having trouble reading the dialogue here you or i; > there is absolutely no sense in which the SVD/PCA decomposition is just a rotation matrix... (hint: scaling is extremely important) ... > SVD is the decomposition of a matrix into two rotation matrices and a scaling matrix, by definition: yes that's exactly what i was implying when i said SVD more than just rotation, scaling is also import…

You opened with this:

> I've been in ML for ~5 years in multiple FAANGs and I have never seen a rotation matrix.

Presumably you've used SVD, but you've never seen a rotation matrix. So something is cooked.

Maybe corollary: that FAANG job wasn't that interesting.

Re: What to learn to be a graphics programmer

#122
post #79
post #28

Earlier quoted context omitted.

I really dislike people that got into a thing and then try to discourage others. “Don’t be like me! I wasted my entire life” which is bullshit from a jaded person that lost passion. Telling people to stay away from graphics programming is not how to entice tomorrow’s John Carmack. So here’s another perspective. If all you have done is web apps and Kubernetes, for example, do get into graphics programming. The feedbac…

Isn't it mostly shaders programming nowadays?

Modern APIs make synchronization and resource management a lot more complex. Used correctly they result in better performance; used incorrectly...

That being said, "nowadays" most studios just throw shit at UE5 and get it over with. It's obvious from how terrible many games run that they don't have a rendering engineer on the payroll.

Re: What to learn to be a graphics programmer

#123

I had some difficulties making sense of _color_ in context of graphics programming, especially transfer functions (sometimes misleadingly called tone mapping). Good article on color management in general, which has a great intersection with foundations needed for graphics programming: https://chrisbrejon.com/cg-cinematography/chapter-1-color-ma...

> sometimes misleadingly called tone mapping

sometimes is an understatement there. It took me like a decade to get that shit right. Graphics in general seems to suffer from bad explanations repeated everywhere. We need more authoritative textbooks.

Re: What to learn to be a graphics programmer

#124

If anyone needs a quick tutorial on linear algebra, you can check out this printabale four pager that I wrote: https://minireference.com/static/tutorials/linear_algebra_in... I also have some notebooks with SymPy code examples here: https://github.com/minireference/noBSLAnotebooks

That is extraordinarily beautiful aesthetically! It's always a shame when beautiful mathematics is presented with bad typography and ugly spacing.

Re: What to learn to be a graphics programmer

#125

Do you want to make games, or do 3D engine programming? If you want to make games, use an existing engine. Unreal Engine, Unity, Godot, and Bevy are good choices. You'll learn the higher level issues of graphics, not how to push pixels around. The real problem is making it fun. If you want to do 3D engine programming, be aware that there are too many bad game engines. In Rust land, where I am, there are three failed…

The amount of otherwise decent games that run poorly due to Unity or UE is very unfortunate. I wish people would stop recommending this stuff. I do hope Godot and Bevy are better, but I'm not sure if they are.

To name some games with very bad perf issues that I've played in the last couple years: Core Keeper (Unity), WORMHOLE (Unity, mostly see the lag in endless mode), Crab Champions (UE4, have to use nonsense upscaling stuff that makes the game hideous just to maintain 60fps at 1920x1200).

Meanwhile Terraria, Necesse, and Barony use their own engines and run great, they have aged like wine.

Out of fairness, I'll say Tiny Rogues (Unity) usually ran pretty well from what I recall, though the dev is actually working to move off Unity in the future, so he has clearly found issues with it himself.

I know there is the argument of making a game vs making an engine, and actually getting a game done and shipping it, but when you put out garbage you aren't gonna have a very positive legacy. I think it would be better to take the long way and ensure some level of quality. Games are often played for decades after release and if they are buggy or laggy, people will continue to run into that forever.

Re: What to learn to be a graphics programmer

#126

Earlier quoted context omitted.

Old 3D engine guy here. I highly encourage folks to make a 3D engine for fun and learning. Shipping a game with it would be a cherry on top. Come join us in r/graphicsprograming, r/gameenginedevs and the graphics programming discord.

Thanks. I have 3 days of vacation ahead so will use the time to sort out the math first. Code shouldn’t be too hard for a very simple 3d demo. I tried my hand on hand a while ago and found out I couldn’t make out how many pixels to draw, say, a line in the 3d world. It involves a transformation to the world and another transformation to the camera, so I couldn’t make it out without any study. This is probably very tr…

I recommend https://gamemath.com/book/ as a good starting point.

Re: What to learn to be a graphics programmer

#127
I think the advent of world models is going to open up a lot of interesting 3D applications with related graphics & rendering challenges. That intersecting with WebGPU general availability across browsers IMO makes graphics programming a very interesting domain to get into now. I certainly see the need in my dayjob.

Re: What to learn to be a graphics programmer

#128

I had some difficulties making sense of _color_ in context of graphics programming, especially transfer functions (sometimes misleadingly called tone mapping). Good article on color management in general, which has a great intersection with foundations needed for graphics programming: https://chrisbrejon.com/cg-cinematography/chapter-1-color-ma...

I again feel compelled to link to the quite excellent Color FAQ: https://poynton.ca/pdf/ColourFAQ.pdf>

Re: What to learn to be a graphics programmer

#129

Earlier quoted context omitted.

Agree with almost all of that. Unless you are targeting some obscure or old platform, I don't even know how you'd justify trying to write a 3D engine from scratch in 2026, except as a fun learning experience. Also, think about tooling. Last time I wrote an engine from scratch, the tooling to support it probably took way more time than the engine did.

AI changes this a lot. You can realistically get a featured 3d engine+editor up and running in a couple week with AI, working solo. Probably better than what Godot or even Unity gives you. Also AI is very good at editor/tooling stuff, I've even found it getting better at graphics programming stuff, just telling it to 1-shot implementing gpu occlusion culling, ddgi probes, taa, etc. type of features. Also for stuff li…

[deleted]

Re: What to learn to be a graphics programmer

#130
My focus area in college was Computer Graphics. There is not enough focus about the math in this article, it just kind of passively mentions it. "Well you can get by with just a little bit of this and that" -- Linear Algebra is huge! So is an Engineering style Calculus course -- not your business calc. Those two require a year of their own to gain mastery. IMO, pick up:

Linear Alegbra Done Right Calculus Better Explained Concrete Mathmetics.

Then you can move on to the low level APIs.

Post reply on HN