Texture block compression is a critical component of real-time rendering. Reducing the size of textures saves download time, disk space, memory, and GPU bandwidth. With a few exceptions (pixel art, some UI elements), it’s a reasonable expectation that all textures should be compressed to maximize these benefits. It’s...
Adding backface and microtriangle culling cut the frame time from 17ms to 7ms. Scene has 900 stanford bunnies each with 69 thousand triangles for a total of 62 million triangles reduced to 6 million. #graphicsprogramming#vulkan#meshshaders#stanfordbunny
Overview A hierarchical depth buffer is a multi-level depth (Z) buffer used as an acceleration structure for depth queries. As with normal texture mip chains, the dimensions of each level are generally successive power-of-2 fractions of the full-resolution buffer’s dimensions. In this article I present two techniques for...
Intro GPUs are complex beasts - and certainly more mysterious in some ways than CPUs which come with ample amounts of documentation and manuals. Aspiring graphics programmers (too insignificant to have a devrel contact to give insight) are sometimes left to scrounge old GDC presentations on performance tips, with very little...
The second post in this series on mesh shaders covers best practices for writing mesh and amplification shaders, as well as how to use the AMD Radeon™ Developer Tool Suite to profile and optimize mesh shaders.
Overall Approach Setting Up The Print Buffer The “Magic” Debug Info Buffer Dealing With The String Problem A Cursed Path Packing It All Into A Buffer Reading Back On The CPU Going Beyond Printf CR LF Unless you’re fortunate enough to to be working exclusively in Cuda, debugging GPU shaders is still very much “not...
Last week, I dealt with formalities related to the project and a few personal matters associated with the new year. Unfortunately, there was quite a lot to handle. Today is the last day I'm dealing with this, and I'm returning to the code for the regular devlogs. I'll also take care of current matters on the instance. On Tuesday...
The only thing that needs to happen is for the api to be enabled on kbin.social. Interstellar should work with any kbin/mbin instance that has the api enabled.
One of my most wanted features as of late has been for the channel select menu to have my subscribed magazines and liked collections. Right now, it just contains some general feeds, but I thought it'd be super useful to also have your mags and collections there for easy access! However, given that Kbin development priorities are...
In this blog post we will try to demystify what exactly occupancy is, which factors limit occupancy, and how to use tools to identify occupancy-limited workloads.
An Introduction To BCn Texture Compression, Part 1: BC4 | Devfault v2 (acefanatic02.github.io)
Texture block compression is a critical component of real-time rendering. Reducing the size of textures saves download time, disk space, memory, and GPU bandwidth. With a few exceptions (pixel art, some UI elements), it’s a reasonable expectation that all textures should be compressed to maximize these benefits. It’s...
Hierarchical Depth Buffers (miketuritzin.com)
Overview A hierarchical depth buffer is a multi-level depth (Z) buffer used as an acceleration structure for depth queries. As with normal texture mip chains, the dimensions of each level are generally successive power-of-2 fractions of the full-resolution buffer’s dimensions. In this article I present two techniques for...
Making an AMDGPU debugger part IV - Grand finale (martty.github.io)
Intro
Making an AMDGPU debugger part III - Trap handler (martty.github.io)
Intro
Making an AMDGPU debugger part II - The Devk (martty.github.io)
Intro
Making an AMDGPU debugger part I - The Plan (martty.github.io)
Intro GPUs are complex beasts - and certainly more mysterious in some ways than CPUs which come with ample amounts of documentation and manuals. Aspiring graphics programmers (too insignificant to have a devrel contact to give insight) are sometimes left to scrounge old GDC presentations on performance tips, with very little...
Reprojection in a Ray Tracer (jacco.ompf2.com)
Modernizing Granite’s mesh rendering (themaister.net)
Optimization and best practices - Mesh shaders on RDNA™ graphics cards (gpuopen.com)
The second post in this series on mesh shaders covers best practices for writing mesh and amplification shaders, as well as how to use the AMD Radeon™ Developer Tool Suite to profile and optimize mesh shaders.
Shader Printf in HLSL and DX12 (therealmjp.github.io)
Overall Approach Setting Up The Print Buffer The “Magic” Debug Info Buffer Dealing With The String Problem A Cursed Path Packing It All Into A Buffer Reading Back On The CPU Going Beyond Printf CR LF Unless you’re fortunate enough to to be working exclusively in Cuda, debugging GPU shaders is still very much “not...
RTR#51 End of a short break
Last week, I dealt with formalities related to the project and a few personal matters associated with the new year. Unfortunately, there was quite a lot to handle. Today is the last day I'm dealing with this, and I'm returning to the code for the regular devlogs. I'll also take care of current matters on the instance. On Tuesday...
OC Improved Channel Select Menu 0.2.0 — Makes your subscribed magazines and liked collections more accessible (greasyfork.org)
One of my most wanted features as of late has been for the channel select menu to have my subscribed magazines and liked collections. Right now, it just contains some general feeds, but I thought it'd be super useful to also have your mags and collections there for easy access! However, given that Kbin development priorities are...
Do we have a kbin discord server?
I'd like to chat and hang out with you folks in real time. Do we have an official or unofficial discord server?
GPU architecture types explained (www.rastergrid.com)
Occupancy explained (gpuopen.com)
In this blog post we will try to demystify what exactly occupancy is, which factors limit occupancy, and how to use tools to identify occupancy-limited workloads.
Mesh Shaders on RDNA™ Graphics Cards (gpuopen.com)
This post is the start of a new series which aims to demystify mesh shaders through examples and tutorials.
Use the GPU, Luke! (arnaud-carre.github.io)
You don't have to be a graphics programmer to need a GPU, by Arnaud Carré
GPU Hang Exploration: Splitgate | clusterduck - pixelcluster's GPU blog (pixelcluster.github.io)
Tiled per-triangle soft shadow volumes · Lukasʼ Blog (lukaskalbertodt.github.io)
A blog about programming, Rust, computer graphics and other stuff.