HBS Core Tech Team

A collection of studio-wide tools and libraries developed with long term maintainability and flexibility in mind. My primary role at HBS was as a member of the Core Tech team, which was intended to be a project-independent tools and infrastructure development team. The idea was to move the studio towards more modular, reusable code that was held to a higher standard of quality and documentation. My role specifically was on the technical art and graphics sides, though I also became the primary point of contact for anything involving Python in various projects.
Read more →

Advanced Real Time Renderer

This was a project over the course of a semester for an advanced real time rendering class. By the end, it supported deferred rendering, mesh instancing, BRDF lighting, soft shadows (using exponential shadow maps), dynamic reflection, image based global illumination with HDR environment maps, and screen-space ambient occlusion.
Read more →

Bidirectional Path Tracer

The second raytracer I built for school, this time a bidirectional path tracer in C++. Over the course of the project, I added support for several forms of optimization as well as features such as depth of field and constructive solid geometry (CSG). Other features such as global illumination, shadows, and reflections came naturally out of the algorithm.
Read more →

3D Skeletal Animation Engine

This was built up over a semester for an animation programming class. It implements hierarchical skeletal animation systems for arbitrary meshes with support for both forward and inverse kinematics as well as path following along splines with animation speed-matching.
Read more →

CDLOD Heightmap Renderer

This application implements Filip Strugar’s Continuous Distance-Dependent Level of Detail (CDLOD) algorithm for rendering heightmaps. This is a real-time, GPU based method for dynamically blending between detail levels of a terrain mesh with adjustable density aiming to keep triangles a consistent size on screen while avoiding artifacts such as gaps in geometry where detail levels change.
Read more →

Raytracer

A raytracer built over one quarter in Java with support for Beer’s law light attenuation and total internal reflection for dielectric objects. Display was done with OpenGL, but the actual image is calculated on the CPU using conventional inverse raytracing.
Read more →