Live data from Hacker News

How do I become a graphics programmer?

gpuopen.com

111–120 of 207 posts

Re: How do I become a graphics programmer?

#111

I would suggest that beginners not lead with "which tools should I capitalize on" and instead, take a step back and ask "what do I want to make"? Don't lose focus on the final output as you make your first steps. In the world of computer graphics today there are so many tools that abstract away various steps in the process of drawing pixels to the screen that you could very easily waste too much time suffering with l…

Well, as someone looking to get into this field, I kind of disagree. A lot (if not all) job postings about graphics programming require you to know C++ beforehand. Sure, you can have another role, like gameplay programmer, and slowly work your way in graphics, and it's probably easier to do so, but in fine, for the graphics programmer role, C++ is required. What you are describing is more about someone who wants to b…

First learn the foundations, then the language.

When I started, graphics programming was all about Assembly.

Then it was about Object Pascal and C, then it was about C++, now it also requires C#.

And who knows, maybe in 20 years, one of the C++ wannabe replacements manages to also have a spot, or some AI driven thingie.

Those will solid foundations in graphics programming algorithms, will manage regardless of the language.

Re: How do I become a graphics programmer?

#112

Earlier quoted context omitted.

How does this sentiment align with the advent of WebGPU?

WebGPU needs to cater to the lowest common denominator so it's unlikely to replace DX12/Vulkan/Metal in the demanding usages. It's always going to lag behind on features, capabilities, and performance. But for the long tail of image filters, video effects, more graphically basic games - yeah, it's a great fit there. Probably.

To put it in perspective, WebGPU 1.0, that 6 years later is still only available on Chrome, is the lowest common denominator from 2015 GPU hardware.

Re: How do I become a graphics programmer?

#113

I would suggest that beginners not lead with "which tools should I capitalize on" and instead, take a step back and ask "what do I want to make"? Don't lose focus on the final output as you make your first steps. In the world of computer graphics today there are so many tools that abstract away various steps in the process of drawing pixels to the screen that you could very easily waste too much time suffering with l…

Well, as someone looking to get into this field, I kind of disagree. A lot (if not all) job postings about graphics programming require you to know C++ beforehand. Sure, you can have another role, like gameplay programmer, and slowly work your way in graphics, and it's probably easier to do so, but in fine, for the graphics programmer role, C++ is required. What you are describing is more about someone who wants to b…

There’s two or three strands of graphics programming though:

Plumbing - Delivering data efficiently from the game engine to the GPU often in a platform agnostic way with efficient implementations underneath.

Art Pipeline - Delivering data efficiently from the artist tools to the game engine.

GPU Programming - Creating visual effects, shaders, compute shaders and tools around these to empower artists.

All of these use multiple languages, sure C++ is a common one and good to know (likewise as a gameplay programmer) but the bigger percentage of what you need to know as a graphics programmer isn’t how to write C++ but the concepts you’re trying to implement with it.

There’s also R&D but it’s a much smaller part of things.

Re: How do I become a graphics programmer?

#114
post #3

This isn't hard: DirectX 12 and C++ and Visual Studio (not VSCode) and Windows on an NVIDIA card. Vulkan basically isn't relevant anymore unless you are doing Android. Metal similarly unless you are doing iOS. As a Linux user, this pains me. But it's just life. Windows-land is soooo much better for graphics programming that it's absurd.

How does this sentiment align with the advent of WebGPU?

WebGPU is a browser API.

Anyone making use of it outside the browser is making themselves a disservice by not using a middleware engine instead.

WebGPU as specified cannot do many modern features, and naturally making use of extensions in wgpu or Dawn, makes the code non portable.

Re: How do I become a graphics programmer?

#115

I would suggest that beginners not lead with "which tools should I capitalize on" and instead, take a step back and ask "what do I want to make"? Don't lose focus on the final output as you make your first steps. In the world of computer graphics today there are so many tools that abstract away various steps in the process of drawing pixels to the screen that you could very easily waste too much time suffering with l…

This is hands down the reality and the best advice out there. No one cares if you are able to do vulkan for 8 years EXCEPT for research labs.

And getting there requires that - you either have a PhD or the exact experience (threeJS, unity etc) as above because that will help you set foot on industry effectively allowing you to work on higher abstraction and slowly/rapidly decent into low level code.

Re: How do I become a graphics programmer?

#116

As a graphics programmer i think its good to have a well rounded idea about how graphics works. Here are some things I would expect a good graphics programmer to know, beyond just programming and an API: -Rotation view and projection matrices, and general vector math. -Shader programming. -Procedural primitives like voronoi, SDF and perlin. -Image Compositing. -Forward and deferred rendering. -Various sampling techni…

Where do you learn this stuff?

Re: How do I become a graphics programmer?

#117

I would suggest that beginners not lead with "which tools should I capitalize on" and instead, take a step back and ask "what do I want to make"? Don't lose focus on the final output as you make your first steps. In the world of computer graphics today there are so many tools that abstract away various steps in the process of drawing pixels to the screen that you could very easily waste too much time suffering with l…

Listen to this guy, great advice. Early in my career, I set out to become an "OpenGL expert" and I'd say I mostly got there. I mean I'm no Mark Kilgard and haven't written any textbooks, but I dove super deep into the technology, and gained at least a decade of experience working on all levels of the API from the driver level to conformance tests and performance tuning, up the stack to game and application code, and…

Focusing on a single technology never was a great idea though. Even already towards the end of the 90's D3D was the better choice on Windows, so one had to write code against multiple 3D APIs anyway. This also gives a better perspective where the strengths and weaknesses of the different technologies are and it makes it easier to learn new APIs. But in the end, 3D APIs are just a utility to write applications (mostly games), not to build one's career upon. 3D APIs come and go and are (to some degree) also subject to fashion cycles, the underlying GPU hardware develops a lot more predictable than 3D APIs (e.g. especially Vulkan had pretty bad "mood swings" recently).

Of course when focusing strictly on money and "career growth", going into game development is a pretty bad idea to begin with ;)

Re: How do I become a graphics programmer?

#119

I would suggest that beginners not lead with "which tools should I capitalize on" and instead, take a step back and ask "what do I want to make"? Don't lose focus on the final output as you make your first steps. In the world of computer graphics today there are so many tools that abstract away various steps in the process of drawing pixels to the screen that you could very easily waste too much time suffering with l…

Well, as someone looking to get into this field, I kind of disagree. A lot (if not all) job postings about graphics programming require you to know C++ beforehand. Sure, you can have another role, like gameplay programmer, and slowly work your way in graphics, and it's probably easier to do so, but in fine, for the graphics programmer role, C++ is required. What you are describing is more about someone who wants to b…

People shouldn't be disillusioned though when they find out that there's not such a big need for the traditional role of graphics programmer who wrestles directly with lighting models in shader code and shadow rendering implementations. 95% (or so) of game industry jobs is plumbing engine-provided components together, writing some very high level gameplay code and maybe a bit of inhouse tools development. The hard rendering tasks are done by a handful engines now, and currently the pendulum seems to swing away from inhouse engines towards UE5 again.
Post reply on HN