Live data from Hacker News

What to learn to be a graphics programmer

blog.demofox.org

211–220 of 251 posts

Re: What to learn to be a graphics programmer

#212

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 think you assume most people want to compete with Unreal on visuals. That's of course borderline impossible. But getting a basic renderer and game loop going isn't really that hard, and likely won't be the majority of your game's code. Just doing drawObject() in a for loop is good enough, you don't have to think hard about optimizng if your game is simple enough, or all the concerns about resource streaming, binding optimizations or parallelism can come later if necessary.

> Building a game engine takes about two years to get to the My First Renderer point.

I wonder what starting point and success criteria do you assume for that 2 year timeline. About a year ago I wrote a deferred renderer with dynamic lights, and shadow mapping, and few post effects in about a month of free time (Less than a week of full time work).

> This is why most indy games now are 2D. That's do-able. Often in HTML/JavaScript.

I don't think that should count against them. Most serious works is done on 2D interfaces. And both WebGL and plain old 2d canvas are very capable nowadays. And quite a few hit indies are 2D.

> If you want a job, be aware that the game industry sucks

Sure but basically everything uses the GPU nowadays. Writing and debugging ML workloads, data visualizations, HUDs and just user interfaces in general requires some understanding more often than not.

Re: What to learn to be a graphics programmer

#213
post #28

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…

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…

What was that quote about chess... ?

Ah yes:

"The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life" [1].

I'm not a graphics programmer so I'm not in a position to gatekeep but I fully agree with the sentiment in the OP (I mean KellyCriterion's post). Do you really want to dedicate your life to an industry that will chew you up and spit you out just to release a borken AAA game that will go down in review flames for ripping its players off?

Side projects, sure. But, professionally? There's gotta be better ways to pay the bacon and bring home the bills.

____________

[1] https://www.chess.com/forum/view/general/favorite-chess-quot...

Re: What to learn to be a graphics programmer

#214
post #28

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…

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…

No, I said something different:

I said the technology is accelerating at such a scary-high speed, that it is no more fun and very hard to earn any merits today, which was quite possible over the last decades.

(and for me personally: Yes, Im happy to be no more involved, though I profit from this experience very often, even if Im in a completely different sector today)

Re: What to learn to be a graphics programmer

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

What was that quote about chess... ? Ah yes: "The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life" [1]. I'm not a graphics programmer so I'm not in a position to gatekeep but I fully agree with the sentiment in the OP (I mean KellyCriterion's post). Do you really want to dedicate your life to an industry that will chew you up and spit you out just to relea…

Dont forget funny "perks" like "crunch-time" and "pre-crunch-time" :-D

Re: What to learn to be a graphics programmer

#216

Earlier quoted context omitted.

What was that quote about chess... ? Ah yes: "The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life" [1]. I'm not a graphics programmer so I'm not in a position to gatekeep but I fully agree with the sentiment in the OP (I mean KellyCriterion's post). Do you really want to dedicate your life to an industry that will chew you up and spit you out just to relea…

Dont forget funny "perks" like "crunch-time" and "pre-crunch-time" :-D

Yeah. Luckily I learned about those things at my first year at university in a "Computer Science with games design" course. I switched to straight CS in year two and I've always thought I dodged a bullet, there.

Sad though. The most fun you can have with programming is maybe the least fun programming job of all.

Re: What to learn to be a graphics programmer

#217

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…

Related to graphics programming in rust: One reason to get into graphics programming is if there aren't any engines that suit your purpose that are available for your programming language of choice.

If I wanted to program a 3D game, I would choose UE5. I'm not, however: I made my own engine (`graphics` crate) and own vector/quatrnion lib (`lin-alg` crate), used by no one other than myself, to view chemistry and molecular bio visuals, with convenience controls etc. And it's suitable as a general purpose engine for rendering simple, non realistic scenes. I'm surprised I had to do this, but didn't find any suitable existing solutions.

Re: What to learn to be a graphics programmer

#218

Earlier quoted context omitted.

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 .

TBF, I bet any graphics programmer would be a boon for a ML shop for their GPU/performance optimization knowledge alone.

AFAIR, the guys at DeepSeek with their PTX-assembly approach didnt have any graphics programming experience

Re: What to learn to be a graphics programmer

#219
post #70

Earlier quoted context omitted.

Couldn't disagree more. I've only recently started digging into graphics programming and I've found it incredibly rewarding. It's the _one_ area of expertise that I don't yet have that has been preventing me from solo-developing a 3D game engine. It takes five minutes of trawling through the videos on the GDC Vault to see all of the clever and interesting ways modern graphics engineers are eking every bit of performa…

Well, then: "merry Christmas" so to say: https://flipcode.com/archives/

Ha! Didnt now its still online!

It was THE ressource back then! :-)

Re: What to learn to be a graphics programmer

#220
post #210

Earlier quoted context omitted.

Sadly, Vulkan is really painful way of learning graphics programming. Doing almost anything requires large amounts of boilerplate. Almost everything you need to do, for example to make shadows, requires just 10x more code than the technique fundamentally requires. For learning graphics programming, in my opinion, writing software renderers is much more enjoyable path. Code is less, the code you write touches fundamen…

Not necessarily, some folks advocate that with modern compute APIs we are better doing "software" rendering, but on the GPU. By the way, this is what renders like OTOY Octane do.

Sadly you can't access RT cores with CUDA, you need to use a graphics API like Vulkan or D3D12. You can make a fast ray tracing based renderer using pure GPU compute, but it'll still be slower than using RT cores.

And even with GPU compute, you benefit from HW acceleration with the HW texture unit.

Post reply on HN