Live data from Hacker News

What to learn to be a graphics programmer

blog.demofox.org

131–140 of 251 posts

Re: What to learn to be a graphics programmer

#131

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…

I want to do something different. I want to make desktop applications that utilize 2d and 3d graphics. These aren't games, and so while game engines can work, they are a heavyweight fit. And this is certainly not game engine programming, although there may need to be a way to program a 2d system rather than relying on the litany of 2d graphics libraries that all have major limitations.

Re: What to learn to be a graphics programmer

#133

Earlier quoted context omitted.

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…

>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…

> 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:

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.

Re: What to learn to be a graphics programmer

#134
post #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 upsca…

This is a really bad take, sorry.

1. Engine choice is only a factor in performance. If you build an unoptimised game it will run poorly. Doesn't matter if you do it in Unity or your own engine. 2. Terraria, etc did not succeed because they use their own engines. 3. Those bad performance games have bad performance and happen to use an engine, not the other way round. 4. The quality of your game has a lot more to do with effort, care, etc than the engine you choose to use. You can create a buggy piece of crap no matter how you make it 5. Performance alone is a bad reason to roll your own engine. "Existing engines are not performant so you should roll your own" is a very bad piece of advice. 6. Making a good engine is HARD and a lot of effort. There is no guarantee that you produce anything better because you chose that path.

Re: What to learn to be a graphics programmer

#135

Earlier quoted context omitted.

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.

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.

Re: What to learn to be a graphics programmer

#136

Earlier quoted context omitted.

SVD, and PCA are also examples.

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 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.

Re: What to learn to be a graphics programmer

#137
post #125

Earlier quoted context omitted.

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 upsca…

This is a really bad take, sorry. 1. Engine choice is only a factor in performance. If you build an unoptimised game it will run poorly. Doesn't matter if you do it in Unity or your own engine. 2. Terraria, etc did not succeed because they use their own engines. 3. Those bad performance games have bad performance and happen to use an engine, not the other way round. 4. The quality of your game has a lot more to do wi…

I always argued for custom game engines not for performance but so your game “feels” unique. I can spot a unity or unreal game from miles away. They have a smell if you will that is very hard to escape.

Every game that has a custom engine just feels unique and interesting in a different way. I think this is why people likely push the custom engine. Any game that passes the finish line on a custom engine often has a level of craftsmanship you dont see in standard engines.

Oblivion remake while looking good only works because the underlying logic is the same. I personally do not like the visual feel of the remake as it screams asset pack to me.

Re: What to learn to be a graphics programmer

#138

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…

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.

While the sister comment is down voted, they are not necessarily wrong. AI absolutely makes custom 3d engines easier to make because the math is very well understood.

Most games do not need 90% of the features 3d engines have. A simple geometry batcher with a bog standard rendering equation and simple single directional shadow map will go a very long way. I can confirm AI has been able to one shot this for well over a year.

However, dont expect to churn out nanite overnight

Re: What to learn to be a graphics programmer

#139

Earlier quoted context omitted.

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 fr…

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.

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.

Re: What to learn to be a graphics programmer

#140

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…

> "Where is todays Jon Carmack?"

Where are today's games with sufficient insight on their technical aspects, to the level we got with Commander Keen, Wolfenstein and Doom?

Dwarf Fortress solved some outstanding lag issues involving tracking owned objects. But if you ask a random person HOW, we don't actually have a serious clue.

Think of well known instances of big developers having their code exposed and we have... I dunno, Valve's TF2 leak and their incredibly rare Dota 2 between the lanes posts?

There is no John Carmack now. You're saying its because there's no large space to improve on like how early people had to. I say it's not because the struggles and unique problems disappeared, but because there isn't a benefit to that type of transparency anymore.

Post reply on HN