Screen Space Indirect Lighting with Visibility Bitmask: Improvement to GTAO/SSAO Real-Time Ambient Occlusion Algorithm (GLSL Shader Implementation)

Been researching real-time indirect lighting and global illumination techniques recently, and was most interested in simpler methods that did not require extensive pre-computation steps. Evaluating indirect light in screen space is an obvious choice here, since it can be fully dynamic, and the performance cost is essentially fixed (for a given resolution or sample count) so can be more easily scaled to varying

Degine: Early Editor Progress

Quick update on Degine, my in-house OpenGL engine. Most of the shaders were finished a few months ago, though I’ve been working on various optimizations behind the scenes. Performance is quite stable, at least on high-end desktop, right now (watch the embedded video). Still needs some work on the lower-end and mobile, though it’s getting there. The most visible addition is a UI,

Degine: Forward+ HDR PBR IBL Render Improvements

In the past week I’ve made some major breakthroughs with the performance on Degine, my custom OpenGL / WebGL 3D engine. Did a lot of reading on performance and optimization guides, like on the ARM and Nvidia websites, specifically for OpenGL ES3 performance on mobile. Also integrated a new lighting system, that supports up to 8 dynamic lights at once (with 1 including

Degine: 60FPS on $99 Kindle Fire

I spent the last two days adding GPU compressed texture support to Degine, my custom OpenGL / WebGL 3D engine. I tried a few formats, but ended up going with ASTC, since it was the only one that appears to be supported on both desktop and web. While it’s not a massive difference, it was enough to get the Amazon Kindle Fire HD

Review: Modern Graphics Programming Primer by Hans de Ruiter

This is one of those short, no-nonsense, types of books that actually has a treasure trove on info hidden inside. It’s not very long, and can be read in one or two sittings. And there is not really all that much code either, aside from a few cookbook like examples at the end. What Modern Graphics Programming Primer offers is an approachable, high-level,

Review: Game Engine Gems 2 by Eric Lengyel

Game Engine Gems 2 is the second book in a series from editor Eric Lengyel, one of the premiere game engine developers in the scene. I read the first book and I will say this second volume is even better in my opinion. There are a vast number of topics covered, and I found the depth in most of them to be thorough,

Tutorial: How To Make a Cube Roll On A Grid in Unreal Engine 4

In this tutorial, I will show how to make a cube roll from side-to-side on a grid. This project took me around 3 days to complete, though much of that was wrapping my head around basic things in UE4. Some of the areas explored here include setting up key bindings and action mapping, setting and clearing timers, and rotating around an arbitrary point.

Tutorial: How To Make a Textured Spinning Cube Using Unreal Engine 4

Today I will show how to create a textured spinning cube using Unreal Engine 4. Making a cube spin is basically what I consider the “litmus test” of 3D engines. How long it takes you to figure this out will show how convenient or capable the engine is. While I might have skipped this test (by jumping straight into creating Pong) I thought it was worthwhile