Graphic programming projects, applying Maths & Physics, implemented in C++, C#, OpenGL, Octet framework and Unity 3D
This is a project for Physics & Animation module in my MSc Computer Game Programming course, which I chose to implement elastic band simulation. I implemented Hook’s law for spring-constrain to construct the elastic band, of which multiple links with mass, velocity, position property were connected to each other by spring-constrain. Newton’s laws of motion were implemented to calculate total forces impacting on the elastic band (gravity, damping, air friction, ground friction, ground repulsion). The code were implemented in C++, Open GL, Octet framework.
This is a small AI project implementing 3 path finding algorithm including Breadth first search, Dijkstra and A star, in C++, basic visualisation with OpenGL in Octet game framework. Raycast for cursor detection so can use mouse control to move object a long the paths generated with pathfinding.
Basic 3D Ocean water simulation based on sine wave and Gertsner wave algorithm, including directional wave and circular wave. I only calculated height value (y direction) and use cross product method to get normal of each point on the surface. The project was implements with C++, Open GL, in Octet framework
This is a project implementing ear-clipping method for simple polygon triangulation programmed in C++, basic visualisation with Octet framework built-in Open GL . The implementation involves some popular Maths algorithms: polygon area calculation with matrix determinant, Barycentric technique. The input contours are formed from vertices detected from mouse positions. the Ear-clipping method only work on “clockwise” simple polygon
2D plant visualisation using L-system algorithm & C++, in Octet game framework
Team project: procedural generated creature, where I took part in rigging and animation, coding with C# , in Unity
Maths project: Application of Bezier Curve algorithm in creating axis-symmetrical objects and curvature surface. Coding in Unity, C#. The texture was downloaded from free online source, for the purpose of testing UV and normal calculation.You can find my project presentation here
My first attempt at a small game with bullet physic & C++, in Octet game framework. Implemented functions: Ray casting for mouse detection, Hing constrain, Point constrain, Collision mask