New Release on 2/5/2009

Feb 5, 2009 at 7:20 PM
I made a few major and minor modifications/additions and, and posted a new release today (2/5/2009). Please re-download the release.

The followings are the major changes:

1. Scene.AmbientLightColor property has been removed, and instead, LightNode.AmbientLightColor property has been added. Previously, we only allowed one ambient light color for the entire scene, but now, you can define ambient light color for each of the Light node you add, and decide which ambient light to use in the shader.

2. IShader.SetParameter(IList<LightSource> lightSources, Vector4 ambientLightColor) interface signature has been changed to IShader.SetParameter(List<LightNode> globalLights, List<LightNode> localLights). This change will give you more flexibility on deciding how you want to use the global and local lights (as well as the ambient light color defined in each Light node) such as the priority when there are more light sources in the scene graph than your shader can handle.

3. Added joint and vehicle physics support through Newton library (NewtonJoint, NewtonVehicle, and NewtonTire). NewtonWrapper.dll has been modified since some of the wrapper functions had problem. Since it's relatively complicated to use these features, I will post additional tutorials later on.

4. Added Capsule and ChamferCylinder geometry shape (in GoblinXNA.Graphics.Geometry package). Now we covered all of Newton's primitive shapes.

5. Added CenterOfMass property for IPhysicsObject interface. You can set this property to change center of mass.

6. Changed the documentation (Installation Guide, User Manual, and API documentation) to comply with the changes.

The followings are the minor changes:

a. Changed tutorial 11 due to the IShader interface change. This applies to all of the Shaders implemented in GoblinXNA.Shaders package.

b. Changed the name of OpenGLShader to DirectXShader (this applies to both the .cs file and .fx file) since the DirectX 9 lighting equations are used rather than the OpenGL ones.