If anyone needs a quick tutorial on linear algebra, you can check out this printabale four pager that I wrote: https://minireference.com/static/tutorials/linear_algebra_in... I also have some notebooks with SymPy code examples here: https://github.com/minireference/noBSLAnotebooks
That is extraordinarily beautiful aesthetically! It's always a shame when beautiful mathematics is presented with bad typography and ugly spacing.
What to learn to be a graphics programmer
191–200 of 251 posts
Re: What to learn to be a graphics programmer
#192Earlier quoted context omitted.
Dreams are fun but they don't pay. And then you are earning scraps, and you realise that you'd prefer to be rich than to follow the dream for nothing. I get that. In the time you'd learn about graphics programming, you could learn something else that would be able to give you a boost in the hiring market.
Rereading that, my comment has been needlessly rude. For that I apologise, even if the point stands a bit still.
After all, he liked polyhedrons so much he made a living out of it. Following his dreams literally saved his life.
Re: What to learn to be a graphics programmer
#193Earlier quoted context omitted.
> This is why most indy games now are 2D. That's do-able. Often in HTML/JavaScript. Most indie games are definitely not in HTML/JavaScript unless you count vibe coded ones.
I can't speak to "most", but the incredible CrossCode displays the HTML5 shield on startup, so indie games on the web stack do exist and can be amazing.
Re: What to learn to be a graphics programmer
#194If you just want to make a game, use a game engine like Unity, Godot or Unreal.
If you want to do graphics, like making engines, simulations, renderers then you should learn a low-level language and a graphics API. For the language I recommend C++, you can also use C or Rust but C might be a bit too difficult and you don't want to fight the language since graphics APIs are already hard. Rust might also be a good choice but I personally find the compile times very slow and the syntax to be ugly.
As for the API, go with OpenGL, it's cross-platform, old (which is good and bad at the same time) and is the easiest of them all.
learnopengl.com is by far the best tutorial on opengl, so I suggest following that.
After using opengl for a while you can branch out and use something like Vulkan or a graphics library that implements all of them, or even keep using opengl if its fine for you.
It's definetly not easy but it's one of the most fascinating parts of CS imo
Re: What to learn to be a graphics programmer
#195Re: What to learn to be a graphics programmer
#196Do 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…
> Do you want to make games, or do 3D engine programming? Yup. If you start making an engine, you probably won't make a game - especially if you're learning along the way. It's technically possible to succeed at both, but having gone through this process many years ago, and having watched dozens of others in our Polish hobbyist gamedev community do the same, chances are under 5%. "I'll do an engine for my game first,…
Re: What to learn to be a graphics programmer
#197Do 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.
https://docs.godotengine.org/en/stable/tutorials/ui/creating...
Re: What to learn to be a graphics programmer
#198Should also include be under 25 and have lots of time to dedicate to it. I've always been interested in the idea of graphics programming and a few years ago I started teaching myself vulkan. Not sure quite how long I spent in total, 6 months of free evenings, maybe a bit less. I'm close to having a rendering framework. But it's one of those things where the further you get with it the more you realise how little you…
For learning graphics programming, in my opinion, writing software renderers is much more enjoyable path. Code is less, the code you write touches fundamental and not boilerplate. Downside is that code will be slower as you will lose HW acceleration.
Re: What to learn to be a graphics programmer
#199Earlier 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…
> The amount of otherwise decent games that run poorly due to Unity or UE is very unfortunate The amount is approximately zero. If someone write badly optimized code with Unity they have 200% chance to write badly optimized code with their own engine.
Re: What to learn to be a graphics programmer
#200Earlier quoted context omitted.
> The amount of otherwise decent games that run poorly due to Unity or UE is very unfortunate The amount is approximately zero. If someone write badly optimized code with Unity they have 200% chance to write badly optimized code with their own engine.
The thing about custom engines is that by the time it supports all the features you need, you’ve worked your mindset into optimal engine usage, so you end up being more performant on a hacked engine vs suboptimal code on commercial engine. Home grown always has some unique flavour.