Live data from Hacker News

How do I become a graphics programmer?

gpuopen.com

101–110 of 207 posts

Re: How do I become a graphics programmer?

#102

Earlier quoted context omitted.

It’s actually relatively small.

So what? You don't think they might need to learn math or a graphics API or fundamentals first? You think they need to compile a rust webgpu implementation first because it's small? How does this make any sense?

What do you think wgpu is if not a graphics API?

Re: How do I become a graphics programmer?

#103

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…

I agree with your suggestion to focus on what you want to create rather than immediately diving into specific tools. It's important to keep sight of your end goal and prioritize output. While learning the fundamentals and low-level code can be valuable, it may not always be the most efficient approach. Tools that abstract away certain complexities can provide a better conceptual understanding and accelerate the learning process. Ultimately, it's about finding the balance between gaining knowledge and creating what you're passionate about.

Re: How do I become a graphics programmer?

#104
The details are outdated now, I guess, but I don't know if there's any more inspiring reading for an aspiring graphics programmer than Fabian Giesen's "A trip through the graphics pipeline" https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-...

As for a place to actually start, I think Computer Graphics From Scratch is a good place https://www.gabrielgambetta.com/computer-graphics-from-scrat.... A great thing about the book is it gives you many ideas for where to go next once you work your way through to the end.

Re: How do I become a graphics programmer?

#105

All the comments here are BS. You have to learn how to construct 2D and 3D graphical spaces in real time and let them evolve and I'm sorry to say, as others have before, there is no royal road to mathematics. You simply have to put your time in the trenches. All the tools being sold to you are ephemeral and will soon become obsolete, so you simply have to grasp fundamentals of linear algebra and 3D spatial representa…

Ok but what are you saying? After understanding the math, are you suggesting that people need to use that understanding to interface with the graphics hardware at a level below Vulkan?

Re: How do I become a graphics programmer?

#106

Earlier quoted context omitted.

Personally... I disagree. The course says: > You'll learn how a software 3D engine works under the hood, and ... write a complete software rasterizer from scratch Writing a software rasteriser is a fantastic way to learn the classic graphics pipeline, Every single aspect of said pipeline offers scope for one to learn more about how GPUs work, and the algorithms behind them. This would be immensely educational to a ne…

If you want to learn webdev you don't start by building a web browser despite the fact that building a web browser would teach you a lot.

A more realistic comparison for webdev is using plain JS vs using frameworks.

Re: How do I become a graphics programmer?

#107
Oh there are so many more ways to become a graphics programmer than by starting with DX/VK/OGL. No need to use C++ at all. Look at all the amazing 3d graphics 3Blue1Brown does in Python.

Learn DirectX or Vulkan if you want to write game engines.

Learn WebGL if you want to write browser applications.

Those APIs are heavy though, and don’t even necessarily teach you that much about graphics on their own. If you want to learn graphics concepts, write your own rasterizer and ray tracer - both! - in any language you want.

There are also a bunch of super-easy-to-use graphics libraries & coding environments that are so much more fun than slogging through Vulkan or DX. Processing is wonderful. Or checkout PlotDevice.io (Python), or its predecessors NodeBox, or DrawBot. ShaderToy is another place where you can learn how to write shaders, or lots and lots about rendering, and it’s so easy to get started. JavaScript has lots of options and libraries. These can be way more accessible and motivating to a beginner, but still offer enough power and flexibility to take the curious student as far as they want.

Re: How do I become a graphics programmer?

#108

The details are outdated now, I guess, but I don't know if there's any more inspiring reading for an aspiring graphics programmer than Fabian Giesen's "A trip through the graphics pipeline" https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-... As for a place to actually start, I think Computer Graphics From Scratch is a good place https://www.gabrielgambetta.com/computer-graphics-from-scrat... . A great thi…

The details are surprisingly still relevant. A lot has changed, but most of that (compute shaders, Ray tracing hardware, ...) is actually orthogonal to everything mentioned in this article or simply details changing in aspects glossed over.

I still link people this article because I have yet to find anything which does a better job explaining these things.

Re: How do I become a graphics programmer?

#109

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…

That's pretty sad. Without people like you, the engines all the others use would not exist. It always saddens me to see people making millions off of high level tools while the people who made it possible get limited returns.

Re: How do I become a graphics programmer?

#110

Earlier quoted context omitted.

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…

I feel like better expertise targets tend to be more durable. In other words, rather than expert in a specific technology or technique, the best experts had the ability to develop expertise in any given technology within a space and often overlapped cursory knowledge with other spaces. I met plenty of graphics experts at Oculus and they didn’t care so much about whether it was D3D or Vulkan - originally they were D3D…

When people like Bjarne Stroustoup, Herb Suttter, Andrei Alexandrescu say they are by no means a C++ expert, always beware of anyone that says otherwise.

Same applies to most languages, unless they are talking about toy languages.

Even something like C or Go, have so much room to debunk such experts. Between compilers, versions, language evolution, runtime, standard library, OS specific behaviours,....

Post reply on HN