Page 6/36
How does it work?
You are probably used to Delphi VCL and Delphi design time functions. Designing Delphi
form is a straightforward procedure. Visual components that you put on the form can be right
visible. With GLScene things are not that simple. Some components are visible at design time some
are not. This chapter will explain the philosophy of GLScene and the way GLScene is organized.
According to Delphi naming conventions every GLScene class will start with TGL... prefix.
First of all you should keep in mind that everything in GLScene has a strict hierarchy. Every
object belongs to other object which belongs to another object. This is called parent <-> child
relationship. Every object can have unlimited number of children but only one parent. The top of the
object tree is TGLScene. The analogy to this would be a TButton placed on a TPanel which is
placed on TForm. There is one interesting issue in the hierarchy. An object always has a parent and
a owner. Parent and owner are not the same. Owner must always be TGLScene because it is
registered there. Parent however can be another object or TGLScene.Objects class.
There are basically two kinds of objects in GLScene : components and scene objects.
Components are organized in four component tabs and can be placed on the form and accessed only
in object inspector. They can be considered 'servicing components' for the second type of objects.
Scene objects can be added, edited and deleted in the scene editor. Scene objects actually represent
the content that is going to be rendered in the scene. Scene objects are also displayed in object
inspector but object inspector lacks the functionality of scene editor. This is my own classification
and has nothing to do with Delphis interpretation of words object and component.
Scene editor is the heart of GLScene. To open scene editor TGLScene has to be placed on
the form. Double click on it in object inspector. New window pops up. There are editing buttons in
the top row and a tree view box below. You can add, select, move and delete scene object in the tree
view box. You can also display each object's effects and behaviors here.
GLScene beginner's guide, Jan Zizka, 2005