THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 12/09/2007 at 12:02, xxxxxxxx wrote:
That's the difference! 
A Cinema 4D Light object has all of the power of the light code behind it. And to benefit from it you have to create one and add it to the scene - as you are aware, one cannot even extend existing types like Olight with plugins and one cannot get the light effect if not attached to a scene.
Most other 'light' based code in the SDK is for rendering (internal/external/materials). Whether there is code to do this in the editor preview is not known to me - but I suspect it is not possible.
The BaseDraw::SimpleShade() method is only for applying basic lighting/shading to a polygon object being drawn into the editor display (using DrawPolygonObject() for instance).
Don't confuse 'draw an emulated light into the editor' with actual lighting. Here I am saying that you could draw a polygon object and lines to show where the light is, where it points, and maybe its direction/scope/strength - schematically.
To show the light's actual effect in the editor, you'll need a way to draw into the editor. There are two ways: OpenGL and Draw() method. It may be possible to the Draw() method to 'highlight' each polygon of the target objects using transparency and Polygon3D(). This would be a crude way to show the lighting on other objects.
The only other possibility is a bit more esoteric. Here you would use a shader or material on the other objects to 'allow' and show the pseudo light source lighting. At least with a shader or material you have a way to do more complex drawing into the editor.