Welcome to my website
This is the place where I share my portfolio.
Currently I am a software engineer working at Microsoft. Please feel free to contact me if you have any questions or things to share.
This is the place where I share my portfolio.
Currently I am a software engineer working at Microsoft. Please feel free to contact me if you have any questions or things to share.
distributed-system
hadoop
aws
May 8, 2017A tiny web search engine mainly consisting four parts - distributed multithreaded search engine deployed on EC2, indexer and page rank, which are both deployed on AWS EMR, and a web front end for searching, which integrates third-party results including Amazon, Youtube and Ebay.
ios
swift3
kd-tree
knn
Feb 11, 2017An iOS (Swift3) application - implemented KD-Tree data structure for k nearest neighbours search
cuda
optix
ray-tracing
photon-mapping
Dec 16, 2016A Optix/CUDA based photon mapping project. Implemented photon visualization and uniform hash grid.
Qt
OpenGL
Dec 14, 2016A Qt and OpenGL based mini minecraft (final group project of CIS560 - Interactive Computer Graphics). I'm responsible for the perlin noise terrain, perlin worm caves, skybox and snowy weather(geometry shader).
Qt
OpenGL
half-edge
skeleton
subdivision
Nov 13, 2016A Qt and OpenGL based mesh editor. Implemented half-edge data structure, Catmull-Clark subdivision, face extruding, skeleton and skinning.
WebGL
deferred-shading
Nov 11, 2016Deferred shading based on WebGL. Implemented some post process effects, such as toon shading, bloom effects and motion blur. Optimized g-buffers to save the GPU bandwidth.
cuda
rasterizer
Nov 5, 2016A GPU rasterizer. Implemented basic stages of a rendering pipeline and different features, such as bilinear perspective-correct texture mapping and backface culling.
cuda
path-tracing
Oct 15, 2016A cuda based path tracing application. Implemented different features, such as Fresnel effect, depth of field, direct lighting and motion blur.
cuda
particle
simulation
Sep 13, 2016A cuda based particle flocking project, which gives an insight into how different factors affect GPU performance, such as block size and memory arrangement. Optimized by uniform spatial grid data structure and memory coalescing.
Qt
ray-tracing
Aug 29, 2015A Qt based simple ray tracing application. Applied Monte Carlo method to simulate diffuse materials.
Qt
DirectX11
animation
skeleton
Jul 10, 2015A Qt, DirectX11 based animation project. Users are able to write scripts to generate specific routes of the animated characters. Implemented animated skinning mesh, key frame interpolation and vertices bleeding at a low level.
rasterizer
shading
May 14, 2015A basic CPU rasterizer. Implemented mid-point line algorithm, MVP transformation, lighting and different shading techniques.
Unity
game-design
Apr 22, 2015A collection of serveral Unity games I've ever made, including 3D Maze, 3D Sokoban, Wall Walker and AR Shooting Game.
MCM
mathematical-modeling
artificial-intelligence
operations-research
weighted-k-means
TSP
multiple-depot-vehicle-route-problem
c++
matlab
Mar 1, 2015A mathematical model to efficiently solve a problem of eliminating disease in MCM contest, 2015. Our solution earned us an Honorable Mention.
android
java
http
SQLite
html
Jsoup
Nov 24, 2014An Android university library application, sending GET/POST request to the official SYSU library website and parsing the returned HTML. Users can check the remaining collections of their desired books and add books to their favorite lists. Students are able to login in to check their borrowing history.
artificial-intelligence
operations-research
TSP
multiple-depot-vehicle-route-problem
c++
matlab
Sep 10, 2014Applied Genetic Algorithm to solve Multiple Depot Vehicle Routing Problem, which is an extended problem of Travelling Salesman Problem.
raspberry-pi
FPGA
arduino
open-cv
Sep 1, 2014An intelligent car project. The car is able to track ping-pong ball and capture the ball.
http
html
cloud-server
Mar 10, 2014An auto responder based on Wechat Platform.
distributed-system
hadoop
aws
May 8, 2017A tiny web search engine mainly consisting four parts - distributed multithreaded search engine deployed on EC2, indexer and page rank, which are both deployed on AWS EMR, and a web front end for searching, which integrates third-party results including Amazon, Youtube and Ebay.
raspberry-pi
FPGA
arduino
open-cv
Sep 1, 2014An intelligent car project. The car is able to track ping-pong ball and capture the ball.
http
html
cloud-server
Mar 10, 2014An auto responder based on Wechat Platform.
MCM
mathematical-modeling
artificial-intelligence
operations-research
weighted-k-means
TSP
multiple-depot-vehicle-route-problem
c++
matlab
Mar 1, 2015A mathematical model to efficiently solve a problem of eliminating disease in MCM contest, 2015. Our solution earned us an Honorable Mention.
artificial-intelligence
operations-research
TSP
multiple-depot-vehicle-route-problem
c++
matlab
Sep 10, 2014Applied Genetic Algorithm to solve Multiple Depot Vehicle Routing Problem, which is an extended problem of Travelling Salesman Problem.
ios
swift3
kd-tree
knn
Feb 11, 2017An iOS (Swift3) application - implemented KD-Tree data structure for k nearest neighbours search
cuda
optix
ray-tracing
photon-mapping
Dec 16, 2016A Optix/CUDA based photon mapping project. Implemented photon visualization and uniform hash grid.
Qt
OpenGL
Dec 14, 2016A Qt and OpenGL based mini minecraft (final group project of CIS560 - Interactive Computer Graphics). I'm responsible for the perlin noise terrain, perlin worm caves, skybox and snowy weather(geometry shader).
Qt
OpenGL
half-edge
skeleton
subdivision
Nov 13, 2016A Qt and OpenGL based mesh editor. Implemented half-edge data structure, Catmull-Clark subdivision, face extruding, skeleton and skinning.
WebGL
deferred-shading
Nov 11, 2016Deferred shading based on WebGL. Implemented some post process effects, such as toon shading, bloom effects and motion blur. Optimized g-buffers to save the GPU bandwidth.
cuda
rasterizer
Nov 5, 2016A GPU rasterizer. Implemented basic stages of a rendering pipeline and different features, such as bilinear perspective-correct texture mapping and backface culling.
cuda
path-tracing
Oct 15, 2016A cuda based path tracing application. Implemented different features, such as Fresnel effect, depth of field, direct lighting and motion blur.
cuda
particle
simulation
Sep 13, 2016A cuda based particle flocking project, which gives an insight into how different factors affect GPU performance, such as block size and memory arrangement. Optimized by uniform spatial grid data structure and memory coalescing.
Qt
ray-tracing
Aug 29, 2015A Qt based simple ray tracing application. Applied Monte Carlo method to simulate diffuse materials.
Qt
DirectX11
animation
skeleton
Jul 10, 2015A Qt, DirectX11 based animation project. Users are able to write scripts to generate specific routes of the animated characters. Implemented animated skinning mesh, key frame interpolation and vertices bleeding at a low level.
rasterizer
shading
May 14, 2015A basic CPU rasterizer. Implemented mid-point line algorithm, MVP transformation, lighting and different shading techniques.
Unity
game-design
Apr 22, 2015A collection of serveral Unity games I've ever made, including 3D Maze, 3D Sokoban, Wall Walker and AR Shooting Game.