I'm a gameplay programmer
focused on developing
engaging and unique experiences!

My Resume Learn more

Optimizing Vertex Shader Matrices

Optimizing Vertex Shader Matrices One of the most common tasks for a vertex shader is to convert a vertex position from local space to projected space. A simple approach may be to cache the matrices LocalToWorld, WorldToCamera, and CameraToProjected in constant buffers for the vertex shader to use. Then, the shader could calculate the LocalToProjected…
Read more

Shader Effects

Shader Effects Shaders give programmers and artists the ability to dictate how an object is drawn to the screen. The two most common shaders used to do this are vertex shaders and fragment shaders. Vertex shaders operate on single vertices while fragment shaders operate on interpolated positions outputted by the vertex shader. I'll be exploring…
Read more

Optimizing Shader Binding

Optimizing Shader Binding Shader Binding One common bottleneck in the graphics pipeline is the binding of shaders during a draw call. In a basic implementation, we might simply bind shaders for every mesh draw call. However, this can be very expensive and creates a ton of unnecessary work. One demonstration of this is a scene…
Read more

Decision Making Algorithms

Decision Making Algorithms in openFrameworks The code for this article can be found on GitHub here! Perhaps one of the most well known problems in AI programming is figuring out how to best organize an agent's behavioral implementation. Solutions range from having a mishmash of if statements to the established technique of Behavior Trees, which…
Read more