Pete Brubaker (profile guided optimizer) (@pbrubaker) header
Pete Brubaker (profile guided optimizer) (@pbrubaker) profile picture

Principal Graphics Software Engineer @ Qualcomm ISPC contributor, machinist, welder, jack-of-all trades Ex. LucasArts/EA/ATVI/R*/Intel All opinions are my own.

Oregon
Joined December 2008
Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)Photo by Pete Brubaker (profile guided optimizer) (@pbrubaker)
Pete Brubaker (profile guided optimizer) retweeted
My talk from @BetterSoftwareC last week is up on youtube. I present my findings on thread synchronization and job systems that I learned while parallelizing the physics solver. youtube.com/watch?v=Kvsvd67X…
17
94
9
720
96,251
Pete Brubaker (profile guided optimizer) retweeted
Awazing talk! Another technique (common in GPU) is persitant jobs: - let atomic C = 0 - fill machine->N jobs: - do work - prev = InterlockAdd(C, 1) - while (prev != N-1) spin - if (prev==N-1) prep next loop & break spin. - all threads persistent and require no schedule!
My talk from @BetterSoftwareC last week is up on youtube. I present my findings on thread synchronization and job systems that I learned while parallelizing the physics solver. youtube.com/watch?v=Kvsvd67X…
3
8
91
6,922
Pete Brubaker (profile guided optimizer) retweeted
Re: i[ndy]Tech 7 (not 8) youtube.com/watch?v=0QYETn_q… - In simplified terms, the baked vintage lightmap is no more, replaced by simplified frame amortized raytracing building stable probe cascades ...
2
6
51
4,740
Hope it went great Victor! I’d love to have a chat to compare notes sometime.
Doing a talk about ISPC in Linköping :)
1
11
861
Pete Brubaker (profile guided optimizer) retweeted
MIT's "Street Fighting Mathematics" This course teaches the art of guessing results and solving problems without doing a proof or an exact calculation. Book: ocw.mit.edu/courses/18-098-s…
15
335
37
2,781
176,069
Pete Brubaker (profile guided optimizer) retweeted
I think I finally "understood" theory of relativity. The graphics programmer version: It's really just some normal map decode math and tonemapping :) Thread...
11
38
3
361
48,510
Pete Brubaker (profile guided optimizer) retweeted
min/max SDF -> either inside or outside is broken. Subtracts keep the inside fine, but the outside is incorrect. Union keeps the outside correct, but the inside is incorrect. Incorrect == not the actual distance to the surface. Conservative distance is not always good enough.
It's difficult to write a tutorial on SDFs without just copy-pasting Inigo Quilez's work! You might not know this, but max/min of two SDFs often breaks the distance fields (see the top two below)
2
8
47
8,478
Pete Brubaker (profile guided optimizer) retweeted
Seb wrote a fantastic article exploring how to make mat mul go fast on AMD GPUs. This is a deep dive into both the algorithm and hardware, with great visualizations. He is also looking for work and I only have good things to say about him, so hire him! seb-v.github.io/optimization…
4
55
1
285
27,064
Pete Brubaker (profile guided optimizer) retweeted
This year the "new" DirectX 12 graphics API, becomes 10 years old (Vulkan becomes 9). Feeling old yet?
25
20
2
476
27,958
Pete Brubaker (profile guided optimizer) retweeted
"Raymarching The Gunk" discussing the techniques used to render the slimy substance in the game, great read: jarllarsson.github.io/gen/gu…
55
1
230
18,070
I really don't know what I'd do without @CompileExplore I definitely wouldn't bother doing this very often. With it this was a breeze and took minutes. Without it I know this would have been a chore and mundane. godbolt.org/z/YcrWMhhhM
1
3
221
Also, if you don't have an UltraWide monitor you're not treating yourself right. Treat yourself right and buy an UW monitor, you deserve it.
1
148
Pete Brubaker (profile guided optimizer) retweeted
I wrote a blog post on my implementation of the Surfel maintenance pipeline from my Surfel Radiance Cascades project. Most of what I learned came from "SIGGRAPH 2021: Global Illumination Based on Surfels" a great presentation from EA SEED :) m4xc.dev/blog/surfel-mainten…
4
69
1
333
16,295
Pete Brubaker (profile guided optimizer) retweeted
NEW GM Shaders: Gamma! mini.gmshaders.com/p/gamma How computers handle lighting and specifically gamma correction. This is a simple introduction to more accurate color blending and lighting
2
13
91
4,635
Pete Brubaker (profile guided optimizer) retweeted
Graphics Programming weekly - Issue 375 - January 19th, 2025 jendrikillner.com/post/graph…
49
216
11,368
Pete Brubaker (profile guided optimizer) retweeted
The CUDA programming guide docs.nvidia.com/cuda/cuda-c-… is worth studying, even if you're not programming in CUDA. A lot of this knowledge is transferable to DX12/Vulkan compute shaders, especially the GPU architecture/best practices/performance guidelines parts.
2
60
1
326
16,075
Pete Brubaker (profile guided optimizer) retweeted
25
233
12
3,698
320,929
Pete Brubaker (profile guided optimizer) retweeted
Stripy Anti-aliasing shadertoy.com/view/l3VcWG Stripes can be tricky to learn at first, but it's a good stepping stone for more complicated scenarios, so it felt necessary to include
3
12
2,063
Pete Brubaker (profile guided optimizer) retweeted
GM Shaders: Anti-aliasing: shadertoy.com/view/l3scWM This is my main demo on 4 levels of anti-aliasing
1
2
15
2,159