Academic Portfolio

Templar, an Augmented Reality Game

Written by Luis Cruz on Thursday, 18 August 2011. Posted in Academic Portfolio

Handheld Augmented Reality | CS8803

Templar, an Augmented Reality Game

TEMPLAR is an Augmented Realiy Video Game for the Android Platform. It was developed for the Handheld Augmented Reality class using the Game Engine Unity with C# scripting and the Qualcomm AR SDK as the main tools. The game make used of only one tangible object which is a tracking board, and all the game is projected through that game board.

Robot Arena, an AI Video Game

Written by Luis Cruz on Thursday, 18 August 2011. Posted in Academic Portfolio

Game AI | CS4731

Robot Arena, an AI Video Game

The ultimate goal for Robot Arena is to achieve a fine balance between AI components and equipment power, as well as between the difference equipment components themselves, so as to create a deep strategic game in which it is not immediately obvious what the optimal designs are.

PacMan, using Artificial Intelligence

Written by Luis Cruz on Thursday, 18 August 2011. Posted in Academic Portfolio

Game AI | CS4731

PacMan, using Artificial Intelligence

The main objective was the implementation of an AI agent for Ms. Pac-Man and the Ghosts, that can behave in an acceptable manner; that is that these agents can make some logical decisions when playing.The AI was implemented in Java, and use the A* algorithm as the main AI component.

MarioBros, using Machine Learning

Written by Luis Cruz on Thursday, 18 August 2011. Posted in Academic Portfolio

Game AI | CS4731

MarioBros, using Machine Learning

The objective was to implement the Learning Track for Mario bros, that is, to implement a Machine Learning technique for Mario Bros. For this project I chose Decision Tree Learning (ID3). A Decision Tree is a series of decisions that generate an action based on a set of observations.

Lens Flares Effect in Java

Written by Luis Cruz on Monday, 15 August 2011. Posted in Academic Portfolio

Advanced Image Synthesis | CS 7490

Lens Flares Effect in Java

This project for the Advanced Image Synthesis class had the objective to simulate lens flare effect in an image automatically. The brightest spot would be found using histograms and then used as a source for the effect. This project was implemented in Java. Lens flares are generated in real life by reflection, scattering and refraction of the light through different lenses.

Inverse Kinematics Solver in C++

Written by Luis Cruz on Sunday, 21 August 2011. Posted in Academic Portfolio

Computer Animation | CS7496

Inverse Kinematics Solver in C++

In this project we formulate the problem of Inverse Kinematics as an unconstrained optimization. For each frame, a pose "q" is solved to be minimized; thus, we solved for a sequence of optimizations to obtain a motion. The input is a C3D file with 3D coordinates for each marker.

Pie Menu widget in Java

Written by Luis Cruz on Saturday, 20 August 2011. Posted in Academic Portfolio

Principles of UI Software | CS6456

Pie Menu widget in Java

Development of a pie menu widget, created in Java Swing, which incorporates hierarchy, animation, and mouse-wheel based rotation, in an attempt to extend the usability of the standard pie menu paradigm. This component was implemented from scratch following the MVC model.

Notebook in Java

Written by Luis Cruz on Friday, 19 August 2011. Posted in Academic Portfolio

Principles of UI Software | CS6456

Notebook in Java

This Digital Notebook project was implemented using the Java Swing library. The main objective was to create MVC (Model-View-Controller) components from scratch. This small app has different functions such as Pen mode and real time thumbnail visor of the main canvas.

Rigid Body Simulation in C++

Written by Luis Cruz on Sunday, 02 October 2011. Posted in Academic Portfolio

Computer Animation | CS7496

Rigid Body Simulation in C++

This is a basic implementation of a Unconstrained Rigid Body Simulation (implemented in C++). This project is based on the paper "An Introduction to Physically Based Modeling: Rigid Body Simulations I - Unconstrained Rigid Body Dynamics" by David Baraff.

Isosurface Rendering (OpenGL / GLSL)

Written by Luis Cruz on Sunday, 21 August 2011. Posted in Academic Portfolio

Computer Graphics | CS3451

Isosurface Rendering (OpenGL / GLSL)

This is an introductory project to GSLS (GL Shading Language). Isosurfaces are like the contours on a map except for they are 3D surfaces rather than lines. Contours consist of points on the same height in a terrain. Isosurfaces consist of points that have the same density (intensity) in a 3D image. Here, by a 3D image we mean a 3D array of '3D pixels' (called voxels).

Ray Tracing in C++

Written by Luis Cruz on Sunday, 21 August 2011. Posted in Academic Portfolio

Computer Graphics | CS3451

Ray Tracing in C++

This is a simple implementation of a Ray Tracing algorithm in C++. It only renders geometric figues suchas triangles, spheres and cubes with a single white light source point and shadows. The program has as an input a text file with a descriptio of the scene.

OpenGL Viewer

Written by Luis Cruz on Sunday, 21 August 2011. Posted in Academic Portfolio

Computer Graphics | CS3451

OpenGL Viewer

This is an introductory project on OpenGL and familiarize with  its pipeline concepts. The main function in this project is to read a text file containing triangle information of a 3D model, and display it with a virtual trackball interface. It also features Gouraud shading and line/pint/face rendering.

HDRI and IBL Rendering

Written by Luis Cruz on Friday, 19 August 2011. Posted in Academic Portfolio

Computational Photography | CS4475

HDRI and IBL Rendering

The main idea was to superimpose CG elements into a real photograph that might be interesting at sight. So I came up with the idea to have some well-known monuments into an Atlanta scenography. By using IBL, I could be able to achieve good rendering quality without spending too much time tweaking lights.

Render Engine review: Maxwell Render

Written by Luis Cruz on Monday, 15 August 2011. Posted in Academic Portfolio

Advanced Image Synthesis | CS 7490

Render Engine review: Maxwell Render

This project for the Advanced Image Synthesis was the analysis and review of a Render Engine. I chose Maxwell Render because its realism. Maxwell render is a rendering engine based on the mathematical equations of light transport, meaning that lights, cameras, materials and emitters are derived from physically accurate models.