This is a water surface simulation which reacts to collisions with objects. I used a mesh of particles to simulate the surface of water and just by tweaking the spring and dampening forces was able to create waves on the surface. In order to minimize error accumulation I used Verlet integration instead of forward Euler integration.
- Uses springs between vertices to simulate waves.
- In order to reduce mathematical error I used verlet integration.
- Reacts to collisions with objects and the waves collide and reflect from the walls.
I created a terrain rendering engine which takes a file with terrain points and generates a mesh. This mesh can be broken down and rendered in several levels of detail. Also I am able to perform frustum checks and cull out terrain sections which are outside of the camera view.
- Using a structure of points I create the triangle lists for multiple levels of detail.
- Uses a frustum to cull out terrain that is out of view.
Sobel Edge Detection
This sobel edge detection algorithm takes the final image created by the video card, finds the edges by sampling pixel colors and then darken those areas which are edges. The outcome is an altered image which looks drawn rather than rendered.
Bump Mapping & Spectral Lighting
By applying a bumpmap onto a surface I was able to create shadows across a flat surface. The spectral lighting was performed by finding the vector between the point on the surface and the light source and then transforming that vector to the tangent space of the surface.