Somewhat surprising there is no mention of basic design principles, or understanding the quirks of human perception. My brother was a production artist for some well-known computer games in the '90s-'00s, and continually complained about programmers and managers with zero visual sense, or curiosity about understanding the artists' side.
Graphics aren't my specialty, but as a musician, sound designer and producer, by far the most effective/influential audio DSP coders I'm aware of understand the basics of music, the physics/acoustics of sounds, and the gotchas at the interface between discrete digital processes and how we perceive and interpret stimuli.
shikshake · 2026-07-01 18:29:31 UTC
There’s a separate role that is more along the lines of what you’re saying, called a Technical Artist (that’s what I do)
I think graphics programmers benefit from having an artistic mindset, but they usually work so low level that it isn’t necessary to be successful.
gambiting · 2026-07-01 18:32:52 UTC
Exactly, Technical Artist is a distinct position that normally bridges the gap between pure programmers and artists and their needs. All TAs I've ever worked with had this incredible skill of knowing exactly what tech thing they need to achieve the outcome that the artists want.
tayo42 · 2026-07-01 19:12:54 UTC
Is this a viable field for employment?or did it collapse like alot of other digital art?
harulf · 2026-07-01 20:50:05 UTC
Good Technical Artists are one of the most sought after professions in game dev. But it's also an annoyingly broad role that means different specific things at different places. The one common trait is being able to bridge the gap between art and code in a way that makes both parties happy.
bsenftner · 2026-07-01 19:14:01 UTC
I was a technical artist for a series of feature films during the early '00s. At a good studio they'll have art and design classes for the tech origin staff and scripting and bash classes for the art origin staff. I was both, and that was a ton of fun.
doodlesarefun · 2026-07-01 23:43:36 UTC
Any suggestion for paths into tech art? I'm very strong in traditional media, I know my way around photoshop & blender very well[0] and I've self-studied programming to a level where I can read lower-level (c/c++) code and know what it's doing. I even got a PR merged into blender once!
But I have no industry connection and my public portfolio is mostly charcoal and oil. The company that flew my drone animations is small & didn't get good video of them (there's a cellphone video or two from the audience, but that's not very good for a showreel). I've been thinking of just getting some good footage of a field & using blender to render & composite the designs, but doing that well will be time consuming and I feel like I might be better off doing something else.
Any advice on breaking in?
[0] I made a small blender workflow & add-on before AI to coordinate droneshow animations that I was selling to a small company, used renderdoc to insert gl.readcolors into the renderloop in a very ugly so I could get the benefit of the shader engine, which no commercial drone-animation software could do at the time. Almost worked for a bigger drone company but the contract was untenable.
thewebguyd · 2026-07-01 18:37:41 UTC
This applies outside of creative industries too. I've seen my fair share of B2B/enterprise software where its clear the vendor has no clue how the industry they are selling to works, or how the users of that software think.
AI changed the calculus a bit (or at least, it has the potential to) but I think that was a huge part of the whole "learn to code" movement in the mid 2000s, to start treating software development as a "feature, not a product" of existing experts in their field so that the people most familiar with their domain are actually the ones making the software instead of having to translate the requirements down to a dev team.
mghackerlady · 2026-07-01 18:51:57 UTC
the learn to code movement was a psyop by big tech to get more javascript monkeys for cheap
pipes · 2026-07-01 18:56:32 UTC
I doubt most JavaScript monkeys would have got through their leet code style interview process ! :)
elzbardico · 2026-07-01 19:01:13 UTC
Think more code monkeys for enterprise software consultancies, like Accenture, Tata, IBM Global Services, etc.
They needed warm bodies for their projects, as the usual source of manpower was grinding leetcode to work on bigtech at salaries that would make an accenture business type vomit in disgust.
milesvp · 2026-07-01 19:42:13 UTC
I see this all the time with audio too. The amount of bits you need to reserve a
Atrix256 · 2026-07-01 20:25:08 UTC
(author of the article)
100% agree. As others have said, a good graphics programmer works with tech artists and artists. Frankly, graphics programming is largely a role of service to enable those people to do what they want to do, or help create what they envision.
People mentioned Inigo Quilez as an example of a graphics programmer who is also an artist. He is a power house and a unicorn.
I personally like playing music / programming audio more, which is a good ground for learning DSP things - useful when for instance, you want to push your rendering noise into the high frequencies, so a low pass filter is more effective at denoising.
at_compile_time · 2026-07-02 03:40:58 UTC
>Inigo Quilez
I came across this guy's channel the other day and it was an immediate subscribe.
I would say being a long-time user of Photoshop and Blender helps a lot. It's not a main tool, but supplemental. Maybe AI will take over some of this though.
Hell, maybe that other stuff too, hahaha!
SirHackalot · 2026-07-01 19:17:04 UTC
Why outsource my learning to Al? The whole point is the joy of the process. I could easily take a photo of a scene (since the inception of photography) instead of learning to paint it, but I would gain no skills through that. People still paint. I'm just tired, boss... I yearn for a past when we didn't have to end every conversation with a disclaimer about Al taking over.
playorizaya · 2026-07-01 22:07:00 UTC
Yeah depends what/why you wanna do.
As a kid I wanted to make games when I got older, I always saw learning to program as a means to that end.
It wasn’t until I was deep into my career that I started developing all these preferences and ego and suddenly caring about the craft of the craft - specializing in work I never imagined spending so much time and energy on, career aspects I never meant to work into my personal identity.
Part of me feels a huge sense of relief with LLMs and image gen - because finally I don’t have to be the maniac anymore! The machine can be the machine again, I don’t have to sit at an IDE for 13 hours grinding out tedium.
Now I can make games, now I can do art.
In that sense it’s a lot like the early arts and literature movements - a renaissance - where the printing press, canvas, international finance, and the enabling of the rapid production of ideas paid off tremendously in the following decades and centuries.
We’ll get great films, games, stories, and research because of this stuff. And then great innovation - stuff we could not do without it at unimaginable scales.
jplusequalt · 2026-07-02 00:07:39 UTC
>We’ll get great films, games, stories, and research because of this stuff.
If you were the kind of person who could create great art, then you would have found a way to make that art happen before LLMs were made.
Sorry if that comes off as harsh, but it's true. Too many people are convinced that an AI is suddenly going to skyrocket them from the ground floor to the ceiling of a craft. It won't.
Accept that there are no shortcuts to mastery. Accept that ideas are cheap, and execution is what matters. Accept that a large portion of people find it repugnant to engage with generative art.
playorizaya · 2026-07-02 01:59:46 UTC
> If you were the kind of person who could create great art, then you would have found a way to make that art happen before LLMs were made.
I did some fairly pioneering product and visual design work (early to the trends sorta thing) long before AI, over a decade ago:
Generative tech just makes it easier to create more things at much greater scale that would be possible without it.
I've used Photoshop and Blender for like 25 years. Lens flare and Filter Gallery - the original "one shot" have always been around. Just because Photoshop and Flash existed it didn't make everyone great at it.
Same is true with this stuff. Some of the best people doing video right now are unbelievably good at it. To your point - they were likely great video editors before AI, but to my point they are being supercharged by it now.
psram1986 · 2026-07-01 18:59:48 UTC
trigonometry->Coordinate Geometry -> Linear Algebra applied to graphics
Once you have that intuition, the rest is all figuring out the stages of the graphics pipeline and the frameworks like opengl and their constituent data structures.
KellyCriterion · 2026-07-01 19:04:04 UTC
Today, I would not recommend anybody to go into graphics programming:
I started in 2001, when NVidias first Geforce 1 ("the Gigatexl shadercard") was first announced:
The field developed since then with so much speed and innovations, it blows my mind of. Compared to what we could do 25years ago, the tech today is just fu*ing impressive.
Though, with this impressiveness comes a big "but": The space is developing at a speed which is really really scary. Nvidia came up with AI-based effects to influence scene & assets on their own - back then, we wouldnt have even thought about that this will be possible some day in realtime.
I do not know if its possible at all to be a "decent pro" in this field now - let me use other words: "Where is todays Jon Carmack?" - he was famous for squeezing everything out of the hardware, using ideas very hidden in the community etc. - today, there is not any competitive moat for people like him (he actually lives on his legacy), and that is because the field is so vast and evolving so fast that there is no chance to become the next one
bsenftner · 2026-07-01 19:11:01 UTC
Graphics programming has this one very, very useful aspect, exponentially more valuable today: the matrix algebra pipelines, and then the requirement to 'think in matrix transforms' is a wonderful and visually engaging way to get your foundation for machine learning math.
mathisfun123 · 2026-07-01 19:15:39 UTC
This is like saying being a cashier prepares you for a job in high-finance because both involve arithmetic on dollars and cents.
I've been in ML for ~5 years in multiple FAANGs and I have never seen a rotation matrix.
jplusequalt · 2026-07-01 19:28:28 UTC
TBF, I bet any graphics programmer would be a boon for a ML shop for their GPU/performance optimization knowledge alone.
pascahousut · 2026-07-01 19:30:10 UTC
Is the linear algebra of machine learning more complicated than that of graphics?
molybd3num · 2026-07-01 19:46:00 UTC
i think so
ekholm_e · 2026-07-01 19:54:31 UTC
I'm a data scientist and not a graphics programmer, but my guess is that it's just abstracted away more. If you're using ML/DL libraries, you're mostly just calling APIs that handle the linear algebra and calculus for you. Unless you're actively contributing to those libraries, you likely don't ever need to "touch" any of the underlying operations. Up to a point, it's useful to understand how things work under the hood, but where that point is kinda depends on your job. For instance, I could write code to do 'naive' matrix multiplication, but I couldn't, like, contribute to BLAS.
kilpikaarna · 2026-07-01 19:41:40 UTC
I mainly learned linear algebra via hands-on 3D graphics, and have a hard time thinking about a matrix as anything other than 4x4 and representing a linear transform...
How much do you even think about explicit matrix math when doing high-level ML?
skydhash · 2026-07-01 20:18:18 UTC
I’ve not done high level ML, but I’ve done introductory ML and the truth is while the input space and the output space can have N and M dimensions, there’s not a lot of constraints involved. The matrix there are more randoms.
The whole ML field is basically about starting from random points and trying to find useful shapes and constraints. Basically like trying to get object likeness in clouds
bsenftner · 2026-07-01 22:34:41 UTC
3D graphics is so much more than the basic transforms. Add in all the deformation systems blending together, and those often being physics driven off the animation. You all have seen modern VFX, right? That is not basic 4x4 transforms.
cognoboffin · 2026-07-01 19:45:42 UTC
Doesn’t RoPE use 2D rotation matrices ?
mathisfun123 · 2026-07-01 19:48:23 UTC
congrats you've found literally the only example ("the exception that proves the rule").
cognoboffin · 2026-07-01 20:07:46 UTC
SVD, and PCA are also examples.
mathisfun123 · 2026-07-01 20:54:29 UTC
there is absolutely no sense in which the SVD/PCA decomposition is just a rotation matrix. you should probably review your linear algebra textbook (hint: scaling is extremely important).
cognoboffin · 2026-07-01 21:19:27 UTC
SVD is the decomposition of a matrix into two rotation matrices and a scaling matrix, by definition:
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 important.
my point, which is my same original point, is that if you think learning about rotation/euler matrices is going to prepare you in any way, shape, or form for ML (vis-a-vis SVD/PCA or RoPE or anything else) you're in for a very rude awakening.
yunnpp · 2026-07-02 01:07:03 UTC
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.
moregrist · 2026-07-01 22:32:42 UTC
PCA is an orthogonal transformation of the covariance matrix, so like all orthogonal transformations, it’s _literally a rotation_ in N-dimensional space.
SVD is more complex but ultimately it’s just another useful decomposition of a matrix.
I’m not sure why you’re both negative and dismissive. Transformation matrices in graphics are a good and approachable way to get used to linear transformations, which turn out to be useful pretty much everywhere.
Whether or not that helps you with ML depends more on what you’re doing in ML. FAANG doesn’t have a monopoly on ML or on interesting work in ML.
mathisfun123 · 2026-07-01 22:38:06 UTC
> PCA is an orthogonal transformation of the covariance matrix
Yes you're now the second person the literally repeat the same thing I've already stated extremely clearly and succinctly: PCA is not just rotation (hint: you also need to understand covariance).
> I’m not sure why you’re both negative and dismissive. Transformation matrices in graphics are a good and approachable way to get used to linear transformations, which turn out to be useful pretty much everywhere.
I've already literally drawn the analogy/metaphor that I've drawn: if you think 2d/3d rotation matrices as they are used in graphics is any kind of introduction to the matrices in ML (modeling linear transformations or otherwise) then you're probably the type of person that believes that cash registers any kind of introduction to finance.
My point is not that hard to understand. Graphics in no way, way, shape, or form prepares you for ML. I don't understand why this is so controversial.
moregrist · 2026-07-01 22:52:53 UTC
> My point is not that hard to understand.
Have you done any serious graphics programming? Even at the OpenGL 1.x level? What you’re saying just doesn’t make sense.
Just because you’re rotating and translating things in 3-space doesn’t negate that you have a stack of transforms that relate a point in world space to one on screen space and you want to be able to project from one to the other.
Nor does it make it any easier when you need to think about how to stack transforms to achieve effects like rendering a mirror.
I honed a lot of useful practical skill with linear algebra trying to get graphics to do what I wanted. And I say this as someone who’s spent the bulk of my career using linear algebra in the context of quantum mechanics, physical simulation, and ML-adjacent areas.
mathisfun123 · 2026-07-01 23:29:27 UTC
> negate that you have a stack of transforms that relate a point in world space to one on screen space and you want to be able to project from one to the other.
no it doesn't "negate", it's all completely orthogonal (pun) or irrelevant. like for real just please take a look at
and tell me which operators you're imagining have any resemblance with typical graphics linear algebra.
like when you people make such claims do you really have anything concrete in mind or just hype?
srean · 2026-07-02 02:38:40 UTC
Cognoboffin is exactly right. SVD decomposed matrix into a sequence of rotation, scaling and unrotation matrices.
If anyone needs a review it's not cognoboffin.
You led with the claim you have never seen a rotation matrix in ML. I am having doubts about whether you have the ability to recognise one.
I suspect new hires get a free pass as long as they can talk a storm about backpropagation these days.
bsenftner · 2026-07-01 22:30:02 UTC
Your fixation on the rotation matrix == 3D graphics is not right
srean · 2026-07-01 20:14:37 UTC
... and I have been both situations for longer and have seen tons and tons of them (*)... So?
Not so hypotheticals -- Heck the inputs that you want labelled could be rotation matrices. The desired output could be a rotation matrix. Generating more convenient features could be via a rotation matrix. Dimensionality reduction could be through a reduction matrix. Sparsity could be encouraged by proper use of rotation matrices. Shows up if you want to build in group theoretic invariance in your predictive model.
(*) If you consider Householders then even more
bsenftner · 2026-07-01 22:27:15 UTC
A rotation matrix is but one of dozens and dozens of different types of basic transforms. It gets really fun with jacobian 12x12 matrix operations, and free form deformations. Which maps to ML far better than most imagine.
rustystump · 2026-07-02 03:14:33 UTC
5y multiple fang? Dont you know it is MANGOs now and has been for a while. Are you sure it is FAANGs?
eichin · 2026-07-01 19:46:11 UTC
I don't really see this with modern graphics programming, but I was highly amused that my 1980s-1990s graphics skills (in particular, coordinate transform math) were very useful when I started working in robotics in the 2010s-2020s (because forward and inverse kinematics are exactly the same thing as 2d/3d projections.)
The trick there is that they both have related physical analogs, and machine learning math doesn't really (in that while you can visualize them spatially, it doesn't seem to help solve any problems in that space.)
hoistthesales · 2026-07-01 19:26:25 UTC
JC was a bit of an anomaly but also his image is mostly coming from players and journalists. Developers struggled to use the later id software engines (partly why UE won that war).
You don’t need to be JC to earn a decent living as a graphics/game programmer.
halestock · 2026-07-01 19:26:59 UTC
Huh? Just because you're not going to become the next graphics programming legend you think it's not worth getting into graphics programming at all?
JasonSage · 2026-07-01 19:41:43 UTC
It's also a great way to not become the next "graphics programming legend" --I think a fast-moving field with lots of new developments is actually an exciting place to be a pro.
alexashka · 2026-07-01 20:13:42 UTC
The moment you realize most people's thinking is no better than a hallucinating LLM :)
markus_zhang · 2026-07-01 19:37:01 UTC
What if I just want to program some rendering engine for a game that looks like DOOM 3 and its predecessors? I think that’s still quite doable?
corysama · 2026-07-01 21:06:37 UTC
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.
shermantanktop · 2026-07-01 21:53:07 UTC
Seems like a lot of people work for a long time perfecting their special flavor of ice cream and never quite get to the cherry on top.
A lot to be learned from building a 3D engine, no doubt, but anecdotally the chances that it will lead a working game that anyone wants to play seem low. That's not a bad thing, unless they tell themselves they are going to ship a game any day now, just as soon as they do X, then Y, then Z, ...
markus_zhang · 2026-07-01 23:08:23 UTC
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 trivial so hopefully 3 days is good enough.
Thanks a bunch. I purchased a book "Mathematics for 3D game programming & computer graphics" so figured they are pretty similar. But it is still very good material so I'll take it as reference.
sph · 2026-07-01 19:39:07 UTC
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 feedback cycle is exhilarating, and you get to appreciate how mind boggingly fast your average computer is. You’ll get to optimize things that are ultimately unimportant because you have never learned how quick things are at the low level. There are a ton of resources and the maths is not too bad. You might find that 3D modeling is a creative outlet you didn’t know you needed. Even if completely inapplicable to your day job, you’ll find new ways to appreciate the art of programming computers, and might just decide to never touch Kubernetes again and spend the next 5 years writing your own game engine in your spare time. There are a lot of crazy people like that, and the community of hobbyists that are not ground down by life and game dev as a career is larger than you’d think. The Graphics Programming discord is a welcoming place if you want to check it out.
Go for it!
modeless · 2026-07-01 20:02:48 UTC
> Don’t be like me! I wasted my entire life
That's not the argument being made here. The field is changing. I had a good career in graphics, my life wasn't wasted at all. That doesn't mean a college student would have the same experience starting today.
sph · 2026-07-01 20:45:33 UTC
Well, of course not, unless you are claiming that a future career in graphics is a bad idea, and there is no way you could say that with any reasonable certainty, I do not get the argument at all.
The field is always changing. You could find people in the 80s saying ‘I had a good career in graphics, a college student would not have the same experience starting today’
reactordev · 2026-07-01 23:09:28 UTC
100% this. My dad told me not to get into it because of the web (he was a C guy) and instead I went head first into it AND did graphics programming (using C#, ewwww) just for the fun of it. Never discourage from someone wanting to learn, discourage the ego that thinks we need another John Carmack.
michaelchisari · 2026-07-01 21:01:25 UTC
Seems like a great field to get into if you can make it to the top 5-10% skillset.
The rapid advances, in a trend replicating throughout society, push out the middle in favor of the top.
readme · 2026-07-01 21:09:03 UTC
Out of curiosity, which fields would you say are the best to just be mediocre in?
michaelchisari · 2026-07-01 21:25:38 UTC
Nepo baby.
Joking (sort of).
I can't say I know of any in the fields I'm familiar with. I've watched tech get increasingly top-heavy since the covid hiring boom and bust, although it was already trending that way.
There are a lot of fields dominated by boomers on the verge of retirement that are the safest bet for people who want to be good and make a good living but don't care to be extraordinary.
I've heard that from arborists, water treatment specialists, actuaries, a few others.
dakolli · 2026-07-01 21:57:20 UTC
Nobody who has ambitions of being the top of their field in engineering wants to be a water treatment specialists, arborist or actuary (maybe actuary if you're a stats nerd). What you're saying is go do something on the based on the potential for you to be professionally successful.. What about people doing things they love?
I hate these people telling people who love to do a certain thing that they should just become a plumber or an electrician. Not everything is about spending your life to make as much pieces of paper the govt tells you are worth something.
I'd rather be in poverty working with computers everyday and doing what I love than make 10k a month being a plumber. I actually can't stand you people.
michaelchisari · 2026-07-01 22:13:53 UTC
The question I answered was:
Which fields would you say are the best to just be mediocre in
> I actually can't stand you people.
Unnecessary. People who want a basic middle class existence are not greedy and should not receive disdain. Many have responsibilities to their elders or others, have kids or want them, etc. so avowed poverty is not realistic.
Especially when bohemian poverty is an increasingly vanishing option on a practical level.
pfannkuchen · 2026-07-01 23:06:12 UTC
Has tech really gotten more top heavy?
I feel more like people kept flooding into the middle and bottom, and companies that used to focus on top talent got watered down with those middle and bottom types.
A lot of the people getting laid off from Google and Meta would not have been hired at all in those places 15 years ago, for example.
rustystump · 2026-07-02 02:54:17 UTC
Press C to doubt. This doesnt explain all the stories of long time og people from both getting let go. I have worked in big tech and little tech finding banger engineers in both. Comp != quality.
readme · 2026-07-01 21:07:38 UTC
I mean, there's other problems with OPs argument.
For example, "there's no chance to become the next one" implies it's only worth it to do something if you can become the absolute best person in the field.
It's a big world. Most of us will not be the very best at what we do. There are millions of fun games that were not written by John Carmack.
rustystump · 2026-07-02 03:01:41 UTC
Who is John Carmack? That old dude from the 90s?
I kid, but there are many other modern Carmacks and id argue even more impressive contributions. The guy has done little since he left gaming.
I wish more people praised Alex Evans. Dreams rendering tech is still unmatched to this day and was my inspiration for graphics, not Carmack.
xboxnolifes · 2026-07-01 21:17:13 UTC
Getting into a field that is changing is the best time to get into that field. The playing field gets equalized and you have more opportunity to be established as a strong expert.
kansface · 2026-07-01 23:27:12 UTC
That is not a universal because the incumbents may hold the institutional reigns. See Academy for a counter example.
bsder · 2026-07-01 21:07:12 UTC
> 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.
Given that almost everyone who wants to be a "graphics programmer" is also somehow gaming industry adjacent, it is extremely fair to ward them off from the folly. I do the same for anyone wishing to do "VLSI hardware engineering." If you have the skill to do either of those, you almost CERTAINLY have the skill to do something else that is almost as interesting and not saddled by garbage employers.
The primary problem with being a "graphics programmer" beyond a tyro is that the biggest consumer of graphics programmers is the game industry which is a notoriously shitty and wretched industry. Every ... single ... employer. So, from the point of view of future potential, "graphics programmer" has very little upside over pretty much ANY other type of programmers.
Second, "learning graphics programming" is like "learning phone programming", you spend more time fighting godawful software infrastructure more than you do actual programming. AI actually kind of helps this, but it doesn't completely remove the fact that 80% of your knowledge has a half-life of 18-24 months.
Finally, saying "I want to learn graphics programming" is like saying "I want to learn engineering." What "graphics programmer" means is vastly underspecified. 3D game rendering and 3D/2D CAD rendering and 2D vector rendering are completely different skillsets. GPUs are great at the first and kinda okay at the second and kinda lousy at the third. Which kind of "graphics programmer" are you even going to be?
sph · 2026-07-01 21:27:59 UTC
> Which kind of "graphics programmer" are you even going to be?
If one follows OP's advice, none at all.
> it is extremely fair to ward them off from the folly
I completely disagree with this. It is a damaging and unproductive attitude to teach beginners and young people. Who are you to say their future career prospect is a folly? The only thing that defines the talents of tomorrow is that they have ignored such advice and then pushed forward the state of the art in ways you couldn't even imagine. This is how progress works.
bsder · 2026-07-01 22:03:08 UTC
> Who are you to say their future career prospect is a folly?
Someone who watched an industry chew up and spit out far too many young people. That's who and that's why I'm qualified.
> The only thing that defines the talents of tomorrow is that they have ignored such advice and then pushed forward the state of the art in ways you couldn't even imagine. This is how progress works.
You would encourage an individual to walk a path that is 90%(95%/99%) likely to damage their life horribly in the name of "progress"? Really? That's ... more than a little inhumane.
Would you encourage someone who likes writing to be a "journalist" right now? I should hope not. I wouldn't tell them to not write, but I sure would try to find a better way to channel that skill.
Or perhaps, if we substituted "pro basketball player" for "graphics programming" perhaps you could see the folly? Although, at least the individual playing basketball would gain the immediate benefits of being quite fit while the graphics programmer would enjoy no such side benefit.
Animats · 2026-07-01 23:21:07 UTC
> 3D game rendering and 3D/2D CAD rendering and 2D vector rendering are completely different skillsets.
Actually, no. Autodesk acquired Alias, and got the Maya animation system, in 2005. Soon after, the CAD tools had cinematic quality output. The architectural people loved this - good looking, accurate architectural renders came out. They especially liked that lighting worked, and you could use the CAD system to place real-world light fixtures.
Toqoz_ · 2026-07-02 00:14:51 UTC
> Second, "learning graphics programming" is like "learning phone programming", you spend more time fighting godawful software infrastructure more than you do actual programming. AI actually kind of helps this, but it doesn't completely remove the fact that 80% of your knowledge has a half-life of 18-24 months.
What kind of knowledge are you talking about here? learnopengl.com is still relevant today for its technical knowledge of fundamental graphics techniques, in spite of OpenGL itself slowly dying. The knowledge itself is overwhelmingly transferable to whatever modern graphics API you’re using.
With mobile development, I can see that you’re mostly learning surface level tools and APIs, which get changed frequently as a new iOS version comes out. But with graphics it’s actually the opposite — most large features come with new hardware, and because most of your customers are generally using older hardware, you can’t even use those new features until the majority of users have upgraded and support it (usually with a new console generation).
Regardless of what you think of the games industry, graphics programmers are highly in demand and paid relatively very well. It’s hard and there’s a lot of surface area to cover to really be excellent, but the knowledge is relevant, longstanding, and rewarding IMO.
bashmelek · 2026-07-01 21:17:35 UTC
Yeah, like I imagine they mean that as a career it is competitive and demanding while having few openings so you shouldn’t stake your education and future on it, but I’m with you. This is something I really want to learn well enough to contribute the world.
Another staple of HN I abhor is “don’t bother learning this cool thing unless an official IQ test says you are over 150.”
sph · 2026-07-01 21:22:41 UTC
I live after the motto of "always disregard the naysayers." If someone tells you a thing is a bad idea, you can safely ignore their advice.
“The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.”
— George Bernard Shaw
fastball · 2026-07-01 22:02:43 UTC
"These annoying, jaded horse-drawn cart builders, cautioning youngsters from getting into the field in 1908."
zerr · 2026-07-01 22:09:12 UTC
Isn't it mostly shaders programming nowadays?
yunnpp · 2026-07-02 01:10:53 UTC
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.
CrociDB · 2026-07-01 22:23:40 UTC
Chill down. It's just someone who has a lot of experience in the field making an analysis of the current landscape of the career, using their own as an example.
> Telling people to stay away from graphics programming is not how to entice tomorrow’s John Carmack.
John Carmack was one of the _first_ graphics programmer to ever exist. The next John Carmack can't be in the same field. The same way we can't expect the next Beatles to be playing rock music. :)
tayo42 · 2026-07-01 23:55:39 UTC
That sounds nice, but we need to make money and there aren't alot of opportunities. I'd love to get away from web and infra nonsense but,in The right domain id even do it for a pay cut. Hobby work won't get you a job
groundzeros2015 · 2026-07-01 19:57:57 UTC
There is more to graphics than AAA games or blockbuster movies.
Profan · 2026-07-01 20:12:43 UTC
How about people like Inigo Quilez? I'd say they're still quite high profile in today's landscape. And the main thing is I think there's just way more people in the field overall today too, not everyone can be famous! It's totally fine to not be as high profile as literally one of the most well known people in a field, it's fine to just do it because you enjoy it! The math and art of graphics (and games in general) programming is beautiful in and of itself.
Comments
Graphics aren't my specialty, but as a musician, sound designer and producer, by far the most effective/influential audio DSP coders I'm aware of understand the basics of music, the physics/acoustics of sounds, and the gotchas at the interface between discrete digital processes and how we perceive and interpret stimuli.
I think graphics programmers benefit from having an artistic mindset, but they usually work so low level that it isn’t necessary to be successful.
But I have no industry connection and my public portfolio is mostly charcoal and oil. The company that flew my drone animations is small & didn't get good video of them (there's a cellphone video or two from the audience, but that's not very good for a showreel). I've been thinking of just getting some good footage of a field & using blender to render & composite the designs, but doing that well will be time consuming and I feel like I might be better off doing something else.
Any advice on breaking in?
[0] I made a small blender workflow & add-on before AI to coordinate droneshow animations that I was selling to a small company, used renderdoc to insert gl.readcolors into the renderloop in a very ugly so I could get the benefit of the shader engine, which no commercial drone-animation software could do at the time. Almost worked for a bigger drone company but the contract was untenable.
AI changed the calculus a bit (or at least, it has the potential to) but I think that was a huge part of the whole "learn to code" movement in the mid 2000s, to start treating software development as a "feature, not a product" of existing experts in their field so that the people most familiar with their domain are actually the ones making the software instead of having to translate the requirements down to a dev team.
They needed warm bodies for their projects, as the usual source of manpower was grinding leetcode to work on bigtech at salaries that would make an accenture business type vomit in disgust.
I came across this guy's channel the other day and it was an immediate subscribe.
This guy has some good art: https://www.khanacademy.org/profile/kaid_1019042693170894950...
If you want to work with Windows, probably DirectX.
2. Make awesome shaders. Check this out: https://fragcoord.xyz
I would say being a long-time user of Photoshop and Blender helps a lot. It's not a main tool, but supplemental. Maybe AI will take over some of this though.
Hell, maybe that other stuff too, hahaha!
As a kid I wanted to make games when I got older, I always saw learning to program as a means to that end.
It wasn’t until I was deep into my career that I started developing all these preferences and ego and suddenly caring about the craft of the craft - specializing in work I never imagined spending so much time and energy on, career aspects I never meant to work into my personal identity.
Part of me feels a huge sense of relief with LLMs and image gen - because finally I don’t have to be the maniac anymore! The machine can be the machine again, I don’t have to sit at an IDE for 13 hours grinding out tedium.
Now I can make games, now I can do art.
In that sense it’s a lot like the early arts and literature movements - a renaissance - where the printing press, canvas, international finance, and the enabling of the rapid production of ideas paid off tremendously in the following decades and centuries.
We’ll get great films, games, stories, and research because of this stuff. And then great innovation - stuff we could not do without it at unimaginable scales.
If you were the kind of person who could create great art, then you would have found a way to make that art happen before LLMs were made.
Sorry if that comes off as harsh, but it's true. Too many people are convinced that an AI is suddenly going to skyrocket them from the ground floor to the ceiling of a craft. It won't.
Accept that there are no shortcuts to mastery. Accept that ideas are cheap, and execution is what matters. Accept that a large portion of people find it repugnant to engage with generative art.
I did some fairly pioneering product and visual design work (early to the trends sorta thing) long before AI, over a decade ago:
• https://dribbble.com/shots/1649274-New-Message-flow
• https://dribbble.com/shots/3019741-Get-a-ride
• https://dribbble.com/shots/1800476-Los-Angeles
• https://dribbble.com/shots/3039672-New-message
And I would disagree with that sentiment.
Generative tech just makes it easier to create more things at much greater scale that would be possible without it.
I've used Photoshop and Blender for like 25 years. Lens flare and Filter Gallery - the original "one shot" have always been around. Just because Photoshop and Flash existed it didn't make everyone great at it.
Same is true with this stuff. Some of the best people doing video right now are unbelievably good at it. To your point - they were likely great video editors before AI, but to my point they are being supercharged by it now.
Once you have that intuition, the rest is all figuring out the stages of the graphics pipeline and the frameworks like opengl and their constituent data structures.
I started in 2001, when NVidias first Geforce 1 ("the Gigatexl shadercard") was first announced: The field developed since then with so much speed and innovations, it blows my mind of. Compared to what we could do 25years ago, the tech today is just fu*ing impressive.
Though, with this impressiveness comes a big "but": The space is developing at a speed which is really really scary. Nvidia came up with AI-based effects to influence scene & assets on their own - back then, we wouldnt have even thought about that this will be possible some day in realtime.
I do not know if its possible at all to be a "decent pro" in this field now - let me use other words: "Where is todays Jon Carmack?" - he was famous for squeezing everything out of the hardware, using ideas very hidden in the community etc. - today, there is not any competitive moat for people like him (he actually lives on his legacy), and that is because the field is so vast and evolving so fast that there is no chance to become the next one
I've been in ML for ~5 years in multiple FAANGs and I have never seen a rotation matrix.
How much do you even think about explicit matrix math when doing high-level ML?
The whole ML field is basically about starting from random points and trying to find useful shapes and constraints. Basically like trying to get object likeness in clouds
https://en.wikipedia.org/wiki/Singular_value_decomposition
> 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 important.
my point, which is my same original point, is that if you think learning about rotation/euler matrices is going to prepare you in any way, shape, or form for ML (vis-a-vis SVD/PCA or RoPE or anything else) you're in for a very rude awakening.
> 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.
SVD is more complex but ultimately it’s just another useful decomposition of a matrix.
I’m not sure why you’re both negative and dismissive. Transformation matrices in graphics are a good and approachable way to get used to linear transformations, which turn out to be useful pretty much everywhere.
Whether or not that helps you with ML depends more on what you’re doing in ML. FAANG doesn’t have a monopoly on ML or on interesting work in ML.
Yes you're now the second person the literally repeat the same thing I've already stated extremely clearly and succinctly: PCA is not just rotation (hint: you also need to understand covariance).
> I’m not sure why you’re both negative and dismissive. Transformation matrices in graphics are a good and approachable way to get used to linear transformations, which turn out to be useful pretty much everywhere.
I've already literally drawn the analogy/metaphor that I've drawn: if you think 2d/3d rotation matrices as they are used in graphics is any kind of introduction to the matrices in ML (modeling linear transformations or otherwise) then you're probably the type of person that believes that cash registers any kind of introduction to finance.
My point is not that hard to understand. Graphics in no way, way, shape, or form prepares you for ML. I don't understand why this is so controversial.
Have you done any serious graphics programming? Even at the OpenGL 1.x level? What you’re saying just doesn’t make sense.
Just because you’re rotating and translating things in 3-space doesn’t negate that you have a stack of transforms that relate a point in world space to one on screen space and you want to be able to project from one to the other.
Nor does it make it any easier when you need to think about how to stack transforms to achieve effects like rendering a mirror.
I honed a lot of useful practical skill with linear algebra trying to get graphics to do what I wanted. And I say this as someone who’s spent the bulk of my career using linear algebra in the context of quantum mechanics, physical simulation, and ML-adjacent areas.
no it doesn't "negate", it's all completely orthogonal (pun) or irrelevant. like for real just please take a look at
https://docs.pytorch.org/docs/2.12/nn.html
and tell me which operators you're imagining have any resemblance with typical graphics linear algebra.
like when you people make such claims do you really have anything concrete in mind or just hype?
If anyone needs a review it's not cognoboffin.
You led with the claim you have never seen a rotation matrix in ML. I am having doubts about whether you have the ability to recognise one.
I suspect new hires get a free pass as long as they can talk a storm about backpropagation these days.
Not so hypotheticals -- Heck the inputs that you want labelled could be rotation matrices. The desired output could be a rotation matrix. Generating more convenient features could be via a rotation matrix. Dimensionality reduction could be through a reduction matrix. Sparsity could be encouraged by proper use of rotation matrices. Shows up if you want to build in group theoretic invariance in your predictive model.
(*) If you consider Householders then even more
The trick there is that they both have related physical analogs, and machine learning math doesn't really (in that while you can visualize them spatially, it doesn't seem to help solve any problems in that space.)
You don’t need to be JC to earn a decent living as a graphics/game programmer.
A lot to be learned from building a 3D engine, no doubt, but anecdotally the chances that it will lead a working game that anyone wants to play seem low. That's not a bad thing, unless they tell themselves they are going to ship a game any day now, just as soon as they do X, then Y, then Z, ...
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 trivial so hopefully 3 days is good enough.
So here’s another perspective. If all you have done is web apps and Kubernetes, for example, do get into graphics programming. The feedback cycle is exhilarating, and you get to appreciate how mind boggingly fast your average computer is. You’ll get to optimize things that are ultimately unimportant because you have never learned how quick things are at the low level. There are a ton of resources and the maths is not too bad. You might find that 3D modeling is a creative outlet you didn’t know you needed. Even if completely inapplicable to your day job, you’ll find new ways to appreciate the art of programming computers, and might just decide to never touch Kubernetes again and spend the next 5 years writing your own game engine in your spare time. There are a lot of crazy people like that, and the community of hobbyists that are not ground down by life and game dev as a career is larger than you’d think. The Graphics Programming discord is a welcoming place if you want to check it out.
Go for it!
That's not the argument being made here. The field is changing. I had a good career in graphics, my life wasn't wasted at all. That doesn't mean a college student would have the same experience starting today.
The field is always changing. You could find people in the 80s saying ‘I had a good career in graphics, a college student would not have the same experience starting today’
The rapid advances, in a trend replicating throughout society, push out the middle in favor of the top.
Joking (sort of).
I can't say I know of any in the fields I'm familiar with. I've watched tech get increasingly top-heavy since the covid hiring boom and bust, although it was already trending that way.
There are a lot of fields dominated by boomers on the verge of retirement that are the safest bet for people who want to be good and make a good living but don't care to be extraordinary.
I've heard that from arborists, water treatment specialists, actuaries, a few others.
I hate these people telling people who love to do a certain thing that they should just become a plumber or an electrician. Not everything is about spending your life to make as much pieces of paper the govt tells you are worth something.
I'd rather be in poverty working with computers everyday and doing what I love than make 10k a month being a plumber. I actually can't stand you people.
Which fields would you say are the best to just be mediocre in
> I actually can't stand you people.
Unnecessary. People who want a basic middle class existence are not greedy and should not receive disdain. Many have responsibilities to their elders or others, have kids or want them, etc. so avowed poverty is not realistic.
Especially when bohemian poverty is an increasingly vanishing option on a practical level.
I feel more like people kept flooding into the middle and bottom, and companies that used to focus on top talent got watered down with those middle and bottom types.
A lot of the people getting laid off from Google and Meta would not have been hired at all in those places 15 years ago, for example.
For example, "there's no chance to become the next one" implies it's only worth it to do something if you can become the absolute best person in the field.
It's a big world. Most of us will not be the very best at what we do. There are millions of fun games that were not written by John Carmack.
I kid, but there are many other modern Carmacks and id argue even more impressive contributions. The guy has done little since he left gaming.
I wish more people praised Alex Evans. Dreams rendering tech is still unmatched to this day and was my inspiration for graphics, not Carmack.
Given that almost everyone who wants to be a "graphics programmer" is also somehow gaming industry adjacent, it is extremely fair to ward them off from the folly. I do the same for anyone wishing to do "VLSI hardware engineering." If you have the skill to do either of those, you almost CERTAINLY have the skill to do something else that is almost as interesting and not saddled by garbage employers.
The primary problem with being a "graphics programmer" beyond a tyro is that the biggest consumer of graphics programmers is the game industry which is a notoriously shitty and wretched industry. Every ... single ... employer. So, from the point of view of future potential, "graphics programmer" has very little upside over pretty much ANY other type of programmers.
Second, "learning graphics programming" is like "learning phone programming", you spend more time fighting godawful software infrastructure more than you do actual programming. AI actually kind of helps this, but it doesn't completely remove the fact that 80% of your knowledge has a half-life of 18-24 months.
Finally, saying "I want to learn graphics programming" is like saying "I want to learn engineering." What "graphics programmer" means is vastly underspecified. 3D game rendering and 3D/2D CAD rendering and 2D vector rendering are completely different skillsets. GPUs are great at the first and kinda okay at the second and kinda lousy at the third. Which kind of "graphics programmer" are you even going to be?
If one follows OP's advice, none at all.
> it is extremely fair to ward them off from the folly
I completely disagree with this. It is a damaging and unproductive attitude to teach beginners and young people. Who are you to say their future career prospect is a folly? The only thing that defines the talents of tomorrow is that they have ignored such advice and then pushed forward the state of the art in ways you couldn't even imagine. This is how progress works.
Someone who watched an industry chew up and spit out far too many young people. That's who and that's why I'm qualified.
> The only thing that defines the talents of tomorrow is that they have ignored such advice and then pushed forward the state of the art in ways you couldn't even imagine. This is how progress works.
You would encourage an individual to walk a path that is 90%(95%/99%) likely to damage their life horribly in the name of "progress"? Really? That's ... more than a little inhumane.
Would you encourage someone who likes writing to be a "journalist" right now? I should hope not. I wouldn't tell them to not write, but I sure would try to find a better way to channel that skill.
Or perhaps, if we substituted "pro basketball player" for "graphics programming" perhaps you could see the folly? Although, at least the individual playing basketball would gain the immediate benefits of being quite fit while the graphics programmer would enjoy no such side benefit.
Actually, no. Autodesk acquired Alias, and got the Maya animation system, in 2005. Soon after, the CAD tools had cinematic quality output. The architectural people loved this - good looking, accurate architectural renders came out. They especially liked that lighting worked, and you could use the CAD system to place real-world light fixtures.
What kind of knowledge are you talking about here? learnopengl.com is still relevant today for its technical knowledge of fundamental graphics techniques, in spite of OpenGL itself slowly dying. The knowledge itself is overwhelmingly transferable to whatever modern graphics API you’re using.
With mobile development, I can see that you’re mostly learning surface level tools and APIs, which get changed frequently as a new iOS version comes out. But with graphics it’s actually the opposite — most large features come with new hardware, and because most of your customers are generally using older hardware, you can’t even use those new features until the majority of users have upgraded and support it (usually with a new console generation).
Regardless of what you think of the games industry, graphics programmers are highly in demand and paid relatively very well. It’s hard and there’s a lot of surface area to cover to really be excellent, but the knowledge is relevant, longstanding, and rewarding IMO.
Another staple of HN I abhor is “don’t bother learning this cool thing unless an official IQ test says you are over 150.”
“The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.”
— George Bernard Shaw
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.
> Telling people to stay away from graphics programming is not how to entice tomorrow’s John Carmack.
John Carmack was one of the _first_ graphics programmer to ever exist. The next John Carmack can't be in the same field. The same way we can't expect the next Beatles to be playing rock music. :)