top of page

LATEST PROJECTS

Path Tracer
​

It's Advanced Computer Graphics course project. Use Monte Carlo way to render. Naive, direct light, full lighting, photon mapping, and volume, five types of the integrator are implemented. Sample number, recursion depth, and some other rendering parameters can be adjusted. BVH and Kd-tree are implemented to accelerate.

To see more or discuss possible work let's talk >>
mini Minecraft
​

It's a course final project, our team of three use Qt and OpenGL to build a mini-version Mincecraft. Simple AI, different texture maps and game scenes(like mountains, forest, river, or cave) are implemented

Second Skin
​​

It's an authoring tool project. Our project of two implemented a Maya 2016 plug-in to fasten and help create really amazing clothes and armors. This project is mainly based on a 2015 SigGraph paper SecondSkin: Sketch-based Construction of Layered 3D Models by Chris De Paoli, Karan Singh from the University of Toronto.

Animation Toolkit
​

Animation Toolkit mainly consist of four parts : Behavior animation, Motion Control(FK, IK, Mocap), Particles and Interpolation.

L-System Plug-in
​

Simple L-System plug-in on Maya 2016 and Houdini 15.5 .

Ray Tracer
​

It's Advanced Computer Graphics course project. Use ray trace method to render input scene. Features like AA, normal map are implemented.

Flying to the Moon
​

It's a Unity project inspired by classic arcade game, Asteroid and my favorite song, Flying me to the moon.  

Players control a spaceship hit asteroids and enemy ships in the space. The game goal is flying to the Moon(when distance displayed on the upper right corner becomes) and get a higher score. Acceleration and more enemy/asteroid hit will get more scores. 

Space Tank
​

It's my personal Space Tank project, developed by Unreal Engine 4. 

Basically, It's a hovering space tank game with simple AI enemy who will chase and fire at you(Like Tank World, which I really like). A low-poly space environment with lots of emissive crystals and materials.​

CUDA Path Tracer
​

It's my CIS 565 GPU Programming and Architecture course project, developed by CUDA.

Compared with the CPU version path tracer above, it provides extra path compaction, which removes paths that no longer need to trace for each rendering iteration, path sorting by material and first bounce cache features. Besides that, thanks to powerful GPU, rendering time is largely reduced.

Vulkan Grass Rendering
​

Use Vulkan to implement grass simulation and rendering.

 This is mainly an implementation of the paper, Responsive Real-Time Grass Rendering for General 3D Scenes(https://www.cg.tuwien.ac.at/research/publications/2017/JAHRMANN-2017-RRTG/JAHRMANN-2017-RRTG-draft.pdf)

This is a simple game written in Python and mainly use wxPython to complete the GUI part. Players can control block speed, use W, A, S, D to control.

BabylonJS post possessing & Weather Tools
​

In this project, our goal is to contribute to and extend BabylonJS WebGL engine. Our main contribution relies on several post processing effects and a weather system. To see more details, please go to the project Github page and watch our demo videos!

A Picture that Can MOVE 
 

This is a Vuforia AR project I made in 2014. The main goal is providing tourists in our university museum a better experience. When app "find" the target, it will trigger animation effects/play related introduction video in AR context.

3D model reconstruction from image sequence project
​

It's my undergraduate design. Basically, users input an image sequence (images should be taken around the object aimed to be reconstructed), the system match features, rebuilding a mesh and use OpenGL to show it in GUI.

3D models build by Maya 2016
​

​

Mini Maya & Mesh Editor
​

This mini Maya project is based on OpenGL, using half-edge mesh data structure. The user can edit vertex, face, edge, do the Catmull-Clark subdivision, face extruding and Bevel Edge and import skeleton and do skinning.

CUDA Rasterizer
​

It's my CIS 565 GPU Programming and Architecture course project, developed by CUDA.

Except for main stages in rasterizer pipeline, features include bloom post-processing, backface culling, correct color interpolation between vertices on a primitive, wireframe / Points mode, and SSAA.

Clustered Forward Plus / Deferred Shading
​

It's a WebGL clustered Forward Plus & Deferred Shading project and also a CIS 565 GPU Programming and Architecture course project.

In this project, a cluster class is implemented to accelerate Forward Plus & deferred shading process(especially in cases of really many lights). Effects like Bloom and ramp shading are also implememted.

Invisible War
​

Hi, this is our game deign course project developed using Unreal Engine 4. It's an interesting online PVP game by our group of three. The other two team members are Linshen Xiao and Youmo Yan. In our game, use your spray to spray out your invisible enemies and kill them and be the last survivor to win the game!

The Cube
​

Hi, this is game design VR course project, developed using Unreal Engine 4 by our group of three. The other team members are Linshen Xiao and Youmo Yan. In our VR game, you need to rotate the small cube attached to your VR motion controller so that your can rotate the whole Cube world and find clues to solve the puzzle and run out of this magic Cube world and finally win the game!

WebGL Demos / Procedural Graphics Project Demos
​

This is my WebGL Demo collection. All projects are based on UPenn's CIS 566 Procedural Graphics course topics and require a WebGL2-capable browser (latest version Chrome recommended)

 

bottom of page