I'm writing a COLLADA export facility for one of our software packages, aimed primarily at Mac OS X (10.7), which can generate images COLLADA schema files in its Preview app. I have a number of objects, a camera, and I want to add a directional or point-source light.

The problem I'm having is that if I specify an <instance_light>, then when I display the image in Preview and rotate it, the light rotates with the image, so that the specular highlight moves as the objects move. What I would like is for the lighting direction to remain fixed whilst the objects rotate independently. This is what happens by default, if I don't specify a light node, so I assume it must be possible.

The general outline of the schema file looks like the following; anything obviously wrong?

<light id="LightAmbient">
<color>1.000000 1.000000 1.000000</color>
<light id="LightPointSource">
<color>1.000000 1.000000 1.000000</color>
<camera id="Camera">
<visual_scene id="Plot">
<node name="LightAmbientNode">
<instance_light url="#LightAmbient" />
<node name="LightPointSourceNode">
<instance_light url="#LightPointSource" />
<node name="CameraNode">
0.5 0.5 4
0.5 0.5 -0.5
0 1 0
<instance_camera url="#Camera" />
<node name="PlotNode">
<node name="Node0">
<instance_geometry url="#NodeGeometry0">
<instance_visual_scene url="#Plot" />