![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/b73f1844-55ce-4466-b109-0ee095ebc914.png)
Man it sounds like you’ve had a rough go. I’m sorry that’s been your experience.
Man it sounds like you’ve had a rough go. I’m sorry that’s been your experience.
As a graphics programmer in the games industry, it’s always exciting to me when people discover how much fun all this stuff is
Ya fair enough. I’d put my “razor” at behaviour that targets vulnerable / minorities, which is probably broader / vaguer than just slurs, but it’s going to be a spectrum of opinions and preferences
You’re right that it’s messy and imperfect and false positives can be really frustrating.
But the alternative - no efforts to maintain a safe space - is that vulnerable people are typically the target. Toxicity typically punches down.
I’ll happily trade some clunky inconvenience so that those people can safely participate
RenderDoc for debugging graphics
Imgui for tool UI
Also if you branch on a GPU, the compiler has to reserve enough registers to walk through both branches (handwavey), which means lower occupancy.
Often you have no choice, or removing the branch leaves you with just as much code so it’s irrelevant. But sometimes it matters. If you know that a particular draw call will always use one side of the branch but not the other, a typical optimization is to compile a separate version of the shader that removes the unused branch and saves on registers
RenderDoc is made by one person. It’s used by every graphics programmer. It’s free, open source, faster + better than anything else. I love it.
Great stuff. I find it really funny that a big feature of modern API’s is that applications place barriers instead of being handled by the driver, and we all tried it for a while and then threw up our hands and decided to write graph systems to automatically place them because it was too hard.