Monthly Archives: January 2012

Basic FPS Character Control

This Bullet logo was made using Blender 3D, fo...

Image via Wikipedia

I have switched from PhysX to Bullet (but not irreversibly) due to the long waiting for my developer account from NVidia. To test the physics, I have implemented some basic FPS character movement functionality. First I have tried to use the Bullet’s character class, but after a while I have realized that it would be too painful to use it. Now it works with a simple capsule collision shape locked in vertical orientation. Here is a short video about the new features.

Some Advancements in the Shaders

I have played with the shaders in the renderer. Now it supports glow maps and specular maps. The specular map is used in two ways. On the one part, it is used as a specular term in the light equation in the lighting pass. On the other part, it is used to add some environment reflections on objects in the final pass.

The terrain shader blends between multiple textures depending on the terrain slope and height. The shading is done in runtime so the changes in the terrain geometry caused by the erosion simulation are properly appearing in the rendering.

Here are some images about the results.

To emphasize the effects of environment reflections (and to make calculations simpler), I have replaced the procedural skybox to a static HDR environment cube map.

Update 10/01/12: I have found a bug in the shaders. I have fixed it, and I have done some modelling to see the results. I have obtained some (cars and dumpster) from TurboSquid too, and I have put some new images to the slideshow to show the results.

This slideshow requires JavaScript.