Demo Reel / Gallery / Programming / Tutorials / Blog / Résumé
Programming / Coding Experience

Here are some Maxscripts I often use, I'll post more up once I have the time. Please let me know if you encounter any bugs.

lpm

L Pass Manager :
L Pass Manager is a pass manager I created for (3ds Max 9 SP2 and above)

There are 7 video tutorials that go over the installation of L Pass Manager, all its features. There is also a forum dedicated to LPM for questions and support about the pass manager.



Necklace Maker :
This script creates a modifier used to create necklaces in 3ds max.

Installation: Put the script in (3ds max)\plugins\

 

 

Autosave Button :
This script creates a button that can be used to toggle autosave on and off.

Installation: Put the script in 3ds max\UI\macroscript directory and restart max. It should be available under category "lukashi".

 

Execute User Properties :
This script is mostly for scripters, it allows storing a stript in a helper objects user properties and then executing that script. Very useful for scene specific scripts, it also has a field for comments. Usage, select an object and run the script!

 

VRay Target Light :
I created this simple script to quickly make a targeted vray light.

Installation: Put the script in 3ds max\UI\macroscript directory and restart max. It should be available under category "lukashi".



The following are Programming Projects I've completed at BU:

Active Appearance Models: (CS585 : Image and Video Computing)
I choose to do active appearance models as my final computer vision project. AMM are a way to fit a set of points (a shape such as the face) to an image using the texture inside the set of points as a matching critera. Here is a link to the report.




Non-Photoreal Rendering with Shaders: (CS580 : Advanced Graphics)
The final advanced graphics assignment was to implement a non photoreal system. took this as an oppurtunity to learn a little bit about pixel and vertex shaders. I implemented a system that renders real-time charcoal drawings of 3d models. Here is a link to the video and write up.



Photon Mapping : (CS580 : Advanced Graphics)
The last two busy weeks have been spent implementing a photon mapper. My photon mapper simultes indirect illumination and refraction for caustics. A major part of this project was also implementing the triangle ray tracer which loads models in the Milkshape 3d Ascii format. Here is a link to the images and write up.



Procedural Textures & Particle Animation: (CS580 : Advanced Graphics)
Our second programming assigment in computer graphics was to implement a system that generated procedural textures using perlin noise in order to simulate fire, smoke and explosions. We where also required to intergrate this noise system with particle animation and have the particles follow a wind force which was generated by the procedural textures. Here is a link to the results.


Image Mosaics : (CS580 : Advanced Graphics)
The goal of this assigment was to implement the algorithm described in the paper "Video Mosaics for Virtual Enviroments" . The basic idea is to align the two(or more) images using tie points. Doing this creates an affine transformation matrix which can then be updated using a gradient descent procedure to arrive at a general transformation matrix that minimizes the total error between the two images. Once the images are aligned a simple weight function blends them togheter. Here is a link to the source code and some panoramic images generated by my implementation of the algorithm.

Suicide Chess with Alpha Beta Pruning: (CS440 : Artificial Intelligence)
Our final programming assignment in Artificial Intelligence was to create a program that plays suicide chess. Suicide chess is a chess variant in which the goal is to lose all of your pieces. After completing the assignment we had a class tournament (CS440/CS640), my program finished in first place and had a record of 10-0. The algorithm used was alpha-beta with a depth maximizing heuristic. The static evaluator was simple but very effective, it was tested against other static evaluators that I expected opponents to use. Credit also goes to Jingbin Wang for the template code.
Click here to download an executable and try to beat it yourself! Email me if you do!

RayTracer: (CS480 : Intro to CG)
The final assignment for the class was to implement a Ray Tracer. My implementation renders spheres, elipses, planes, boxes and cylinders. It supports shadows diffuse lighting and specular highlights. I also implemented reflections, refractions, grid textures on spheres, and grid bump mapping on spheres. Credit also goes to Ashwin Thangali for writting the parser and class structures.



3d Vivarium with Boids Flock Simulation: (CS480 : Intro to CG)
This program places around three hundred fish and a shark into a 3d aquarium. The shark eventually gets hungry and starts eating the fish. When the fish sense the shark is near they change color into a bright red and flee, otherwize the follow a flocking behavior. The flocking behavior I implemented is boids and it lends to a realistic look to the motion of the school of fish. The simulation was rendered in real time using OpenGL. (click here to download exectuable) Professor Sclaroff wrote the code to intialize the OpenGl enviroment and also the tank object.