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?

<asset>
...
<up_axis>Y_UP</up_axis>
</asset>
<library_effects>
...
</library_effects>
<library_materials>
...
</library_materials>
<library_geometries>
...
</library_geometries>
<library_lights>
<light id="LightAmbient">
<technique_common>
<ambient>
<color>1.000000 1.000000 1.000000</color>
</ambient>
</technique_common>
</light>
<light id="LightPointSource">
<technique_common>
<directional>
<color>1.000000 1.000000 1.000000</color>
</directional>
</technique_common>
</light>
</library_lights>
<library_cameras>
<camera id="Camera">
<optics>
<technique_common>
<perspective>
<xfov>45</xfov>
<aspect_ratio>1.3333</aspect_ratio>
<znear>-10.0</znear>
<zfar>1000.0</zfar>
</perspective>
</technique_common>
</optics>
</camera>
</library_cameras>
<library_visual_scenes>
<visual_scene id="Plot">
<node name="LightAmbientNode">
<instance_light url="#LightAmbient" />
</node>
<node name="LightPointSourceNode">
<instance_light url="#LightPointSource" />
</node>
<node name="CameraNode">
<lookat>
0.5 0.5 4
0.5 0.5 -0.5
0 1 0
</lookat>
<instance_camera url="#Camera" />
</node>
<node name="PlotNode">
<node name="Node0">
<instance_geometry url="#NodeGeometry0">
...
</instance_geometry>
</node>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#Plot" />
</scene>
</COLLADA>