graphics
Dynamic Descriptor Pools 01 Aug 2025
A couple days ago I wrote about my dynamic_buffer
helper which I use to push things like uniform blocks to the GPU without worrying too much about preallocating the exact amount of memory I need at application startup. Here's another helper which I use to make allocating descriptor sets easy.
Dynamic Graphics Buffers 30 Jul 2025
Yesterday, I described a ring buffer allocator suitable for pushing data to a GPU. Today, I'm using that allocator to manage a dynamic buffer suitable for sending things like blocks of uniforms up to the GPU which automatically grows when necessary.
Read more...WebGL Index Validation 19 Sep 2013
If you've ever browsed through the WebGL spec, you've likely seen section 6: Differences Between WebGL and OpenGL ES 2.0. Right at the top of that section, we find section 6.1: Buffer Object Binding. That section reads as follows:
Read more...Bicubic Filtering in Fewer Taps 23 Oct 2012
This post is based on the technique described in GPU Gems 2, chapter 20, Fast Third-Order Texture Filtering. While that's certainly a good read, I found that the authors skipped over a lot of detail and optimized a little prematurely, making the result rather difficult to parse. If you've read and understood their paper, then this isn't going to be news to you.
Read more...Windowed Fullscreen 29 Apr 2012
Windowed (fake) fullscreen is probably my favorite graphics option ever when it comes to PC games. It lets me have my nice fullscreen game, but doesn't lock me out of using my other monitor, and any programs running behind the game are an instant ALT+TAB away. Games that can go from fully windowed to fake-fullscreened in an instant are also super cool, and not all that difficult to write. So how does one implement such a thing?
Read more...Deferred Shading Tricks 21 Feb 2012
Deferred shading is a useful technique available on modern GPUs that allows one to decouple scene and lighting complexity. I'm not really writing a for-beginners article here. This is aimed at people who've got a basic engine set up and want to tune it.
Read more...hqNx 07 Jan 2012
This is a quick demo project I did a few years ago for fun. It's an implementation of the hq2x, hq3x, and hq4x image upscaling algorithms on the GPU.
Read more...