Hello, SergeyOsipov, you wrote: SO> There is 3D an object, and a lamp. They . And still there is a shade. It is always pleasant to hear about objects which are drawn, register in a DB, about operation. Be fulfilled (), . Be replenished (), beer. Be drunk (), the earth. Dig (). SO> the Shade should know about object that , but she also should know about a light source, where it and what characteristics at it. SO> where it is better to thrust a shade on design? In object? But whereas to anchor a lamp? In a lamp? But then the lamp should know about all objects. Dealt 3D in 2000 a little. It seems to me that in the task shades questions on where it to thrust - not in first ten urgency. At all I do not remember that in 3D packets at scenes there would be objects "shade" as those. SO> a question not in how to make. And in that as on beauty from the point of view of OOP. From the point of view OOP where a shade - the successor of object of a scene, all is just beautiful. I.e. If the task consists what to make beautiful the OOP, here hardly one decision something will be better than another. But if it all the same has to be drawn, I suggest to pass from design OOP to methods. Generally a question from a category "who will draw a hole from a donut?, a donut, or what through it is visible?".