Earlier quoted context omitted.
The vac bans got reversed.
I fail to see how that excuses sloppy engineering.
How do I become a graphics programmer?
31–40 of 207 posts
Re: How do I become a graphics programmer?
#32There are hundreds of disciplines that fall under "computer graphics". The website focuses on a teensy little corner: programming graphics SDKs.
Re: How do I become a graphics programmer?
#33Earlier quoted context omitted.
WebGPU is little more than a laboratory experiment right now. There are probably no industry implementations (game/graphics engine, visualisers, etc). Computer graphics is particularly industry-driven—consider the proportion of game devs who present at SIGGRAPH versus academics. I give it at least a decade before WebGPU sees any meaningful market share.
Bevy Engine ( https://bevyengine.org/ ) is built ontop of wgpu ( https://wgpu.rs/ ) and runs in-browser today ( https://bevyengine.org/news/bevy-webgpu/ ) Bevy is the second highest starred game engine on GitHub's Game Engine topic: https://github.com/topics/game-engine I definitely agree that it's still new, but I don't feel like it's quite as far out as you're implying. A year or two at best IMO?
I'd like to draw attention to the last phrase in my comment:
> WebGPU sees any meaningful market share
I am comparing anything implemented in WebGPU to existing games that are played today by gamers.
Finally, it's using Rust, and the majority of graphics + game engines are written in C++ (with a minority in Java and C#). Despite the safety and tooling benefits, moving to Rust is still a change that companies have to implement and educate their developers on, which is going to take a lot of time. And game dev companies are fairly slow at adopting new language standards (even if they adopt new graphics APIs and hardware fairly quickly, e.g. ray-tracing).
I don't quite share your optimism; sorry.
Re: How do I become a graphics programmer?
#34It's included in the "Useful Websites" in the article above.
Also note that graphics is large enough that there no longer exists a one-size-fits all solution to learning graphics. If you want to learn graphics I'd recommend finding a mentor.
Re: How do I become a graphics programmer?
#35Earlier quoted context omitted.
>No GPU, no OpenGL, no DirectX! This is the opposite of what you would hope to see for learning graphics programming.
I feel like this comment perfectly captures the difference between programming and coding. Programming comes from a place of first principles, the goal being to understand what is needed completely so that a solution that meets many parallel constraints can be constructed. Coding comes from a place of completing a task, the goal being to get from the requirement to the operating task in as short a time as possible so…
Re: How do I become a graphics programmer?
#36Earlier quoted context omitted.
>No GPU, no OpenGL, no DirectX! This is the opposite of what you would hope to see for learning graphics programming.
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…
Re: How do I become a graphics programmer?
#37I'd recommend the Pikuma course Graphics From Scratch[0]. The first thing you do is write a set_pixel function utilizing SDL and the rest of the course is all your code, every matrix operation, every vertex transformation, every triangle rasterization. You calculate what every individual pixel should be colored. [0]: https://pikuma.com/courses/learn-3d-computer-graphics-progra...
>No GPU, no OpenGL, no DirectX! This is the opposite of what you would hope to see for learning graphics programming.
Teaching beginners to render graphics without the GPU is like teaching them to do fractional math without the FPU. It won't make their first project better and gives them the wrong idea of what to expect.
Re: How do I become a graphics programmer?
#38Earlier quoted context omitted.
How does this sentiment align with the advent of WebGPU?
WebGPU is little more than a laboratory experiment right now. There are probably no industry implementations (game/graphics engine, visualisers, etc). Computer graphics is particularly industry-driven—consider the proportion of game devs who present at SIGGRAPH versus academics. I give it at least a decade before WebGPU sees any meaningful market share.
It's pretty obvious WebGPU is not going to replace any big engine's custom-built graphics backend, but it's already pretty capable, and I think it's going to be a good place to start for beginners for a long time.
[0] https://github.com/Popov72/OceanDemo [1] https://veloren.net/
Re: How do I become a graphics programmer?
#39Earlier quoted context omitted.
>No GPU, no OpenGL, no DirectX! This is the opposite of what you would hope to see for learning graphics programming.
I feel like this comment perfectly captures the difference between programming and coding. Programming comes from a place of first principles, the goal being to understand what is needed completely so that a solution that meets many parallel constraints can be constructed. Coding comes from a place of completing a task, the goal being to get from the requirement to the operating task in as short a time as possible so…
Programming refers to the act of writing a program for a computer to follow.
Coding refers to the act of writing code for a computer.
Edit: The definitions are not commonly used this way and in fact I've heard other people even give opposite definitions to what correponds to which word.
Re: How do I become a graphics programmer?
#40Earlier quoted context omitted.
>No GPU, no OpenGL, no DirectX! This is the opposite of what you would hope to see for learning graphics programming.
I feel like this comment perfectly captures the difference between programming and coding. Programming comes from a place of first principles, the goal being to understand what is needed completely so that a solution that meets many parallel constraints can be constructed. Coding comes from a place of completing a task, the goal being to get from the requirement to the operating task in as short a time as possible so…
But if your goal is to program a modern shader on a modern platform (even if it's a 2D graphic), you should learn a modern graphics library.
-------
A modern graphics API is laid out the way it is: to maximize modern performance on modern systems. A first principles bottom up approach will absolutely cover shaders (maybe compute shaders are easiest?)