SMU Guildhall
Home
Individual Work
Team Work
MIT Project
Resume
Contact
  ||  Back to List
BSP loader and renderer

In this project, I built a QUAKE map loader (BSP, lightmaps, textures, Bezier curve patches) which does fast ray traces with the BSP.

Landscape rendering

In this project, the graphic engine load the height map and generate indexes for stiching patches of the landscape. The texture coordinates and normal of each vertexes also be computed at the loading time. A sky box is placed around landscape to make it  look more naturally

 Level of details (LOD) of each patches are compute dynamically at runtime base on the position of the camera. After that, the LOD of each patches are adjusted by its intrinsic and its neighbor patches. The indexes of each LOD are created to make sure the landscape is seamless (no gaps).

Procedural Dungeon Generator

In this project, I generate 3D dungeon level using graph layout drawing algorithms: Horizontal-Vertical drawing, recursive wind, force-directed. I also implemented a portal-based scene graph to cull the room that not in view frustum. Each room in the level have random shape with random textures and per-pixel lighting.

 

Scripting language

In this project, I wrote a compile (lexical analyzer, parser and code generator) and a stack-based virtual machine for a C-like syntax (if..else, switch, while, do..while, for, foreach) with weakly-typed variables (vector, string, integer, float). The language support function call with arguments, local/global variables, and basic operators between variables.

The compiler and the language decription can be found in followinf link:

UniqueCompiler

 

 

 

Cloth simulation

This project simulate the movement of the cloth. The first part is the flag move in the wind, in the second part the cloth also collide with a ball. In this simulation, user can control the wind and move the ball around to see how the cloth morph. I also use shader to show the creases & the light in the cloth.

3D Engine

In this project I designed and implemented a general interface and general data structures that connect transparently to both OpenGL and Direct3D (to the depth of programming HLSL and GL assembly shaders for per-pixel light, bump, and parallax mapping). This project also includes an Importer and Exporter for 3DStudioMax files and a custom file format (includes models, textures) with optimal file loading with single read, compute perfect optimal bounding sphere of the model.

Copyright © 2011 Southern Methodist University. All rights reserved. • Right to Know and Legal • Privacy Policy

For questions or problems with this site contact The Guildhall Webmaster.