A little over a year ago I was looking to overhaul our shadow rendering at work in order to improve overall quality, as well as simplify the workflow for the lighting artists (tweaking biases all day isn’t fun for anybody). After doing yet another round of research into modern shadow mapping techniques, I decided to do what I...
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...
I finally decided to learn shaders. If you're curious about what shaders are and how they work, this article is for you. We'll start with the basics and build a simple blob from scratch.
What;s up with those empty renders in rendering research papers? The white furnace test, one of my favourite rendering debug tools. It can be used to check several levels of implementation, not just the BRDF, but also the sampling and the Monte Carlo integration loop,
Why Talking About Render Graphs In 2017 Yuriy O’Donnell, at the time working for Frostbite, presented the Frame Graph at GDC, which is considered the first application of render graph on triple A games. Frame Graph is intended to be a high-level representation of each graphics operation to render a scene. In addition to that,...