Spyke

Posts

An Introduction To BCn Texture Compression, Part 1: BC4 | Devfault v2

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 important, therefore, to understand how texture block compression works at a high level. What formats work best for base colors versus normal maps versus some arbitrary packed material data?

https://acefanatic02.github.io/posts/intro_bcn_part1/Open linkView original on kbin.social

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.

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 #GraphicsProgramming

View original on kbin.social

Hierarchical Depth Buffers

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 generating a hierarchical depth buffer from a full-resolution one. First I show how to generate the full mip chain for a depth buffer in a way that preserves depth query accuracy in texture coordinate (or NDC) space even for non-power-of-2 depth buffer dimensions.

https://miketuritzin.com/post/hierarchical-depth-buffers/Open linkView original on kbin.social

Making an AMDGPU debugger part I - The Plan

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 known about the inner workings of some GPUs.

https://martty.github.io/posts/radbg_part_1/Open linkView original on kbin.social

Shader Printf in HLSL and DX12

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 great” in the year 2024. Tools like RenderDoc and PIX are amazing and do provide the ability to step through a shader and inspect variables, but they’re fundamentally tied to a “capture” workflow.

Shader Printf in HLSL and DX12https://therealmjp.github.io/posts/hlsl-printf/Open linkView original on kbin.social