Adam Lenart
  • Real-time operating system written in C/C++/assembly for x86 platform.
  • Multitasking kernel with priority scheduling and fast process context-switching.
  • Interrupt handling for system calls, exceptions, system timer, keyboard, and serial ports.
  • Inter-process communication (IPC) functionality using send/receive/reply mechanism.
  • VESA-based SVGA graphics, supporting 640x480+ 16/32-bit modes with back buffering.
  • Features real-time application for routing trains over serial-interfaced train controller.
  • OpenGL based 3D racing game written in C++ from scratch in ~3 weeks for final project in CS 488 (received award for best interactive project of the term).
  • Bezier patches with adaptive tessellation for LOD (level of detail).
  • Realistic physics model for vehicle movement and collision detection.
  • Motion blurring for enhanced illusion of very high speed motion.
  • Octree-based spatial partitioning for fast rendering and collision detection.
  • Smooth camera motion for previewing tracks using spline interpolation.
Ray Tracer
  Ray Tracer  
  • Ray tracer with support for spheres, cubes, and convex polygon meshes.
  • Recursive tracing of shadow and reflection rays.
  • Lambertian diffuse lighting and Phong specular lighting models fully implemented.
  • Hierarchical scene support using inverse ray transformations during traversal.
  • Texture mapping with bilinear filtering and PNG image loading.
  • Anti-aliasing with stratified/jittered super-sampling using 3x3/4x4 rays per pixel.
  • OpenGL based 3D engine written in C/C++, used for action/puzzle ball game.
  • Physics system with collision detection for spheres, very realistic bouncing.
  • Uses basic Quake map format and runtime octree compiler for spatial paritioning.
  • Ability to apply physical attributes to surfaces for friction and spring coeffiecient.
  • Quake-style console with runtime interpreter, commands, variables, bindings, etc...
  • Uses SDL as base framework and FMOD for sound and music support.
3D Graphics Pipeline
  3D Graphics Pipeline  
  • 3D pipeline that draws 2D lines to represent a 3D viewing space with perspective.
  • Maintains seperate coordinate frames for world, view, and model transformations.
  • Supports rotation, translation, and scaling transformations.
  • 3D line/plane clipping to viewport edges and near/far planes.
  • Deferred rendering for depth shading of lines.
  • Renders cubes (normal and beveled), pyramids, prisms, spheres, and MD2 models.
Hyper Bomberman (with Map Editor)
  Hyper Bomberman (with Map Editor)  
  • 2D tile engine with dynamic/animating tiles written in C, uses DirectDraw 7.
  • Sprite system using velocity/acceleration/time based movement and frame animation.
  • Quake-style console with runtime interpreter, commands, variables, bindings, etc...
  • Input, sound, and music using DirectInput 7, DirectSound 7, and DirectMusic 7.
  • Multiplayer network support using DirectPlay 7 lobby/session system.
  • Map and tileset editor using pure Win32 API and DirectDraw 7.
GameBoy Emulator
  GameBoy Emulator  
  • GameBoy emulator written in Java (J2SE 1.4) for usability as applet.
  • Emulates all GameBoy Z80 (Zilog 80) CPU instructions with timed delays.
  • Video system replicates GameBoy LCD screen (160x144) with vertical blank.
  • Sound system uses Java sound library and emulates all 4 audio channels.
  • Supports all Memory Bank Controller (MBC) types enabling emulation of most games.
  • Ability to save/load battery backup RAMs (not available in applet).