Blog


Dealing with memory alignment in Vulkan and C++

Or in other words, how the mapping of data in your struct can impact what your shader ends up receiving.


Solving optimization problems using Integer Programming

Let's talk a little about mathematical optimization and some cool programming paradigms we can use to solve some really hard problems.


OpenGL Debugging

Working on some OpenGL projects for a while now, I wanted to talk a little bit about debugging my own code.


We've Got Deferred Shading

After some experimenting with OpenGL's framebuffers previously, the next step was to implement deferred shading on the framework. Here I'll talk a little bit about how I implemented it in my current engine, setting up the framebuffers and the gBuffer.


Framebuffers and Shadow Mapping

Time to add shadow mapping to the engine, a feature that requires a better understanding of OpenGL's framebuffers. Here I'll discuss a bit about the depth map, shadow mapping and the "z" coordinate.


Lightmaps and Normal Mapping

With reliable texture loading added previously, now I further improved the engine to support light and normal mapping. I have changed the object loading to get all the necessary files, the textures, and the calculation of the TBN matrix to get everything to work.


Some Thoughts on Loading Image Files for Textured Objects

Advancing my OpenGL framework a few steps further by adding object loading and textures, here I'm going to talk a bit about the bumps I had along the way.


Creating Volumetric Lights and Shadows Through Ray Marching

Now, taking advantage of the ray tracing engine I build some time ago, I decided to implement this little cool effect called volumetric lighting (or some times crepuscular rays, "god rays", etc).


Implementing a Ray Tracer

The rite of passage for every computer graphics enthusiast? Well, there you go. Let's talk a bit about implementing a ray tracer, and some other features to make it work better/faster such as data structures and multithreading.


Using Motion Capture to Animate Virtual Characters in a Physical Stage

This time let's play a bit with the Microsoft Kinect, Unity and use Vuforia to create an augmented reality application for mobile devices to create animations of virtual characters.


Simulating Sand Using Particle Systems

Particle systems are fun by itself and we can use it to simulate all sorts of different things, so I decided to use one to simulate sand. This time using Unity as a framework.


A C++ Framework For Interaction With OpenGL

Let’s talk a little bit about how to make stuff actually show using OpenGL. Here I'll talk about my engine which includes primitive mesh creation, phong illumination, camera manipulation, custom shader file readers, etc.


Is It Working Yet?

This is the first post of my blog, hopefully things won't break!