This project implements the basic SPH(Smooth-Particle-Hydrodynamics) in C++, rendered in OpenGL so far . Come back and check what’s new!
Original paper here.
A ray-tracing renderer written in C++. It supports adaptive multi-sampling, soft shadow, glossy surface, depth of field, and global illumination methods such as Montel-Carlo Global Illumination and Photon Mapping. Some of the code-base files (cyCodeBase) are provided by Cem Yuksel.
Home made C++ game engine running on PC. I am still working on it, and currently the unstable version supports 3D graphics, Octree accelerated collision detection and rigid-body dynamics. The latest stable version supports 2D graphics, and the game running on is my hand made “Asteroid”.
This was from the class Interactive Computer Graphics. We used GLSL to implement several graphics effects such as environment map, shadow (planar projection shadow, shadow map, and shadow volume), bump mapping and toon-shading.
Basic finite elements method can simulate elastic object. Here is a demo video that shows you a bouncing ball which can truly deform and bounce base on its elasticity simulation.
A naive particle system which uses OpenGL for rendering. Each particle flies out from the bottom and eventually with enough particles a 3D model will show up.
This was from the class Virtual Reality(VR). We implemented a naive stereo rendering in OpenGL. We also added Razer Hydra controller to build head-tracking VR display (like what Johnny Lee did). Full VR experience HMD was implemented too. Furthermore, we did a little bit research on HCI in VR.
We implemented several AI algorithms on a PacMan Game framework. Algorithms include A* search, mini-max tree, alpha-beta test, Markov Decision Process (MDP), Baye’s Nets reasoning, etc. The recent class webpage may not be the same as I took it.
CPU Rasterization Rendering
In this program, almost the entire rasterization rendering pipeline (such as OpenGL, DirectX) which should run in GPU was implemented in C/C++, and run on CPU.
2011 and Earlier
This demo implemented the inverse kinematic simulation with a simple method call pseudo-inverse Jacobian Matrix method (see the original paper). At the time I wrote this porject, I used OGRE as the base render engine.
A 3D version copy cat of the famous iOS game Angry Birds. This was a 10-members-team project, and I was one of the render and physics engine developers. We used OGRE as render engine, and we implemented physics simulation based on Bullet-Physics.
Other course projects current working on: parallel programming in CUDA, hardware ray-tracing
Others: Vinyl (EAE thesis game project, team member from March – June, 2013), FFmpeg codec customization,