 |
 |
 |
- 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 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 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.
|
|
 |
 |
 |
|
|
 |
 |
 |
- 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 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).
|
|
 |
 |
 |
|
|
|