There are a lot of PBR related writings out there which can make it very difficult to piece together the history and all of the different concepts into a complete PBR understanding. The goal of this short series is not to overload you with equations (those are easy enough to find) but to explain how they all come together for a PBR renderer.

# Category Archives: Rendering

Various rendering techniques I like to play around with

# Custom Bokeh Pattern

At work I’ve been taking the proof of concept depth of field work I’ve done and iterating on it. One thing I wanted to do was have easier control over authoring and visualizing a bokeh pattern.

I decided to write a quick web page which will generate a bokeh pattern based on a couple of user supplied inputs. It will output a visualization of it and the hlsl code for it. If anyone is interested in using it the link is here:

http://www.trapzz.com/code/bokeh.html

# GPU – Set Stable Power State

I’ve been doing some Vulkan recently and I needed to lock the GPU frequency. Nvidia has posted some code to do it – but strangely enough – it was just on a webpage not on github. So, I’ve added it to a repo and included a compiled executable. Just run it as a separate process and it’ll lock your GPU frequency for any workloads you’re profiling.

https://github.com/mcferront/set_stable_power_state

I use GPU-Z to check my GPU frequency:

https://www.techpowerup.com/gpuz/

# Dynamic Resolution Rendering with DX12

My colleague and I wrote a blog post on Dynamic Resolution Rendering with DX12, specifically it’s an implementation which uses DX12 Placed Resources for render target resizing instead of scaling the viewport.

You can read about it and find the github links here:

https://software.intel.com/en-us/articles/dynamic-resolution-rendering-update-for-microsoft-directx-12

# Practical Edge Preserving Depth of Field

I wanted to take a stab at a depth of field technique – overall I’m happy with the results but I do have some areas I’d like to improve. This is a simple, straight forward technique which runs at ~.4ms on a 1080 Ti at 1080p resolution.

You can read about it here.

# Demystifying the Cosine Weighted Hemisphere Algorithm

Hemisphere Sampling Algorithms and Cosine Weighted Hemisphere Sampling Algorithms are once again in the news because of the buzz around Ray Tracing. This post describes what they are and walks through the algorithms step by step so you understand them rather than just copy and pasting code (which I’m sure none of us ever do!).

# Dynamic Checkerboard Rendering

My colleague and I wrote a paper on DRR+Checkerboard Rendering and released a full implementation in a fork of the DX12 Mini Engine.

You can read about it and find the github links here:

https://software.intel.com/en-us/articles/checkerboard-rendering-for-real-time-upscaling-on-intel-integrated-graphics-v-12