Personal projects

Computer grapichs framework
Rendering techniques implemented such as texturing, illumination models, transparency, shading algorithms, mapping techniques (bump mapping, environment/reflection mapping, etc.), and shadows.
See more
Space partitioning framework
Implementations to avoid bottlenecks in the CPU and GPU such as some spacial data structures (octrees and kd-trees), the construction of bounding volumes and their hierarchies for collision detection and the GJK method.
See more
Neural network
Implemented Neural Network and then applied the technique of Deep Q-Learning to make an AI learn to play the game Snake.
See more