graphicsguy

joined 1 year ago
[–] graphicsguy@programming.dev 13 points 9 months ago

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.

[–] graphicsguy@programming.dev 4 points 9 months ago

I like to not think of anything as "absolute" or "dealbreaker" (within reason. If there's a culture of harassment I'm gone, for example). But spend intentional time throughout your career reflecting on what matters to you in terms of team culture, code culture, career growth opportunities, compensation, etc. There are a lot of factors to being happy in your work, and a lot of ways to get there. Be intentional about it, and try to always move toward it. It matters a lot more than whatever software you're writing.

[–] graphicsguy@programming.dev 2 points 10 months ago (1 children)

Man it sounds like you've had a rough go. I'm sorry that's been your experience.

[–] graphicsguy@programming.dev 3 points 11 months ago

Graphics Programmer here.

More likely you would just write data to a buffer (basically an array of whatever element type you want) rather than a render target and then read it back to the cpu. Dx, vulkan, etc. all have APIs to upload / download to / from the GPU quite easily, and CUDA makes it even easier, so a simple compute shader or CUDA kernel that writes to a buffer would make the most sense for general purpose computation like an advent of code problem.

[–] graphicsguy@programming.dev 3 points 1 year ago

As a graphics programmer in the games industry, it's always exciting to me when people discover how much fun all this stuff is

 

Capcom uploaded presentations on its RE engine to YouTube with English subs. Some good content in here

[–] graphicsguy@programming.dev 3 points 1 year ago (1 children)

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

[–] graphicsguy@programming.dev 2 points 1 year ago

This.

I ask my boss about project-wide stuff that might impact me and my team, discuss strategy / priorities / roadmaps, ask them to weigh in on anything where I need project leadership to help resolve an issue, and any perfunctory "goals" stuff (I hate it so much haha)

[–] graphicsguy@programming.dev 10 points 1 year ago (5 children)

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

[–] graphicsguy@programming.dev 1 points 1 year ago* (last edited 1 year ago)

RenderDoc for debugging graphics

Imgui for tool UI

[–] graphicsguy@programming.dev 3 points 1 year ago

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

[–] graphicsguy@programming.dev 3 points 1 year ago

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.

view more: next ›