Project Silvershine – More functionality
I created a waterfall, and a shader to make it look more alive. Needs alot more though, like particles, but still, it’s starting to look more and more like a waterfall! 😉
I also created functions for getting the transformation matrix from a bone in a given model. This is used to render different weapons in the players hand, and keeping it there no matter what animation is running on the player.
I also optimized the collision detection algorithm, for increased framerate, and enhanced it in many ways: A seperate mesh is used to see where we might walk, and where we cant. If you try to walk out from this mesh, the character will stop moving, like hitting the wall.
This is done by casting a ray in the direction of 0, -1, 0 (right down), based on the world matrix. If the ray hits our "collision mesh", we can get the distance between the intersection point and us. This allows the player character to move up and down hills, stairs and so on. Ofcourse, the collision mesh is not rendered.
I also modified the ocean tecxutres and normal mapping for better waves, aswell as a vertex shader that creates waves for a more "living" ocean.