top of page

Looking for my next
to make a change.
The digital way.

Place your cursor on this screen and scroll down!

You can also grab around the computer with your cursor and rotate it around!


About Me.

I’m an engineer at heart who possesses a big soft spot for the art of blending and merging different disciplines together. This particular drive took me down the road of Computer Graphics as a principal focus. Art🧑🏻‍🎨 and technology 💻 come together in CG in such a beautiful way that learning the mathematics and technical principles in favor of the construction of said art became a life priority for me.

However! CG is not the only area I have delved my hands into. I also possess experience in Business, Engineering Management and Entrepreneurship (created a small business back in Colombia), Academic Research (Worked as Research Assistant in a Lab) and Teaching (Authored a couple of surprisingly successful courses on Udemy in the fields of animation and game development). Take a look!


Professional Experience

Dallas, TX.

3D Computer Graphics R&D Software Engineer Intern.

Researched and implemented 3D algorithms, regarding 3D mesh manipulation, computational geometry and shader creation for realistic rendering.


3D Modeling, Animation & Rendering Instructor.

Creator of one of the most successful courses in English for the platform, amassing over 6K students around the globe with an average review score of over 4.6 out of 5 stars.

Bogotá, Colombia.

Research Assistant in Computer Graphics - VR - AR

Wrote and published several papers as first author. Deployed and coded state-of-the-art technologies for Animation and Rendering.

Bogotá, Colombia.

Start Up Co - Founder / Project Manager.

Led end-to-end development and execution of numerous Web, VR, Videogame, and Mobile Apps in coordination with internal resources and third parties/vendors.


Philadelphia, PA.

Teaching Assistant, Several CG Courses.

Covered core subject matter common to the fields of robotics, technical character animation, embodied intelligent agents, real-time rigid body simulation, rendering and lighting.

I also did a bunch
of cool
technical & artistic CG projects @
UPenn. Take a look!

Continue below for a detailed overview of everything I've done!

Topics in Computer Animation

C++ / OpenGL - GLFW / Visual Studio 2019

2D OpenGL Parametric Curves & Interpolation Engine.
Supports: Linear, Bezier Cubic Catmul-Rom, Hermite, B-Splines.
Methods: Bernstein Polynomials, De Casteljau.
 help represent position & orientation (Quaternions and Euler Angles) of 3D Objects over time.

3D OpenGL Animation Engine. 
Supports: Scene Graph World Hierarchy, Skeleton Transform Kinematic Chain Traversal, Foward Kinematics Solver, Loading of BVH animation files, Inverse Kinematics Solver, Skeleton - Mesh Skinning to drive geometry.
Methods: For FK, The skeleton's joints are arranged in a hierarchy where each child is positioned and oriented relative to its parent. The engine can compute or read from a BHV file the position and orientations of each joint in a skeleton relative to the world.
For IK, an IK chain is created, and it's solved by using both C
yclic Coordinate Descent and the Pseudo-Inverse Jacobian Approach.


Simple Physics Engine.
Supports: Simulation of Particle Systems. Rockets can fly up in the air and explode with particles.
Methods: Every rocket has the current state per frame and the derivate of the state. Integration methods such as Euler and Runge-Kutta are used to solve for the dynamics of the system.


PD Controllers, Intelligent Agents with Behaviors.
Supports: Individual and Group Behaviors such as: Seek, Flee, Arrive, Wander and Obstacle Avoidance. Flocking and Leading for Group sims are also supported.
Methods: Every agent gets info on the state of the world per frame. With this, the sim computes the desired velocities and heading angles which are then used by the feedback controllers (PD controllers in this case) to produce corresponding forces and torques. Then, the software updates all the agent's state vector using Euler integration and then displays the agent in the world.


Topics in Computer Graphics & Rendering

C++ / OpenGL - GLSL / QT

3D Software Rasterizer.
Supports: Rasterization of a full 3D Scene from World Space to Screen Space with Z-Buffering. Texture Sampling, Model Shading with Lights, Camera and OBJ model loading are supported.
Methods: Starting from World Space, the software converts to Camera Space using the View Matrix, then the Projection Matrix to get to Screen Space. SS Triangle rasterization is done manually.
 Texture Sampling done with Barycentric interpolation. Lighting and Shading using Lambert's law of cosines.

Fully Featured 3D CPU & GPU Path Tracer Rendering Engine.
Supports: Full OBJ scene loader. Global Illumination. Different types of surface materials, colors and lights. Textures.
Methods: Solving the Light Transport Equation and shooting rays per pixel that bounce in the scene.
Direct and Global Illumination, different types of BRDFs & Multiple Import
ance Sampling (MIS) are among parts of technology that has been implemented. 
For the GPU case, the Rendering is being solved via
 a shader, on a screen space sized quadrangle.
Look below for some actual results from my rendering engine!

Physically Based Shaders. "RealShading."
Supports: RealTime PBR Materials. Environment Maps. Metallic - Roughness PBR Workflow.
Methods: Implementation of Epic Game's Real Shading in Unreal Engine 4 paper found here.
General Implementation of the Cook-Torrance Microfacet Specular Shading Model.
 We pre-calculate the information of GI and store it in a 2D look-up Texture.

Videogame Development

Raw OpenGL / Unity / Unreal Engine

OpenGL: From Scratch Minecraft Clone

NeonDodge VR - A Multiplayer VR Dodge Ball Game.

Lumos - A Multiplayer Hack n' Slash Game

Artistic Computer Graphics: 3D Modeling & Rendering

Blender 3D

And of course, this webpage!

Crafted with care using React.js &Three.js.

If you reached this far, thank you for taking the time to go through my whole website. I hope you liked what you saw.

It means a lot to me.

Please hire me.

bottom of page