QSDK 1.1 Documentation

Glossary

Ambient Light An approximation to the indirect illumination of an object in a scene as a result of light scattering from other objects. Ambient light is a constant level of illumination in a Zone. See also: Environment, Light.  
Animation Contains tracks of authored animation keys (at present only position, orientation and scale keys are supported) that can be used with a Playback object to animate a single Group, a set of Groups (using an AnimationBundle), a Cluster or a Texture. class, P81
AnimationBundle The animation data in an Animation object can contain tracks of keys for more than one Group (e.g. a hierarchy exported from Max). The Animation object itself contains no knowledge of the specific Groups that are to be animated so that it can be reused for multiple animated hierarchies. To target a specific hierarchy, an AnimationBundle is created that maps Animation tracks to Groups. When a Playback is then used to play the Animation data on the AnimationBundle it automatically animates the correct target Groups with the animation synchronized across the set of Groups. class
Application An Application object is responsible for driving the message loops and tick for Q.
Events can be received using an ApplicationListener.
class, P01
ApplicationListener ApplicationListener is an abstract interface which client code can subclass to subscribe to events from the Application object. class, P01, P02
Camera A Camera object defines the viewing frustum for a 3D scene. The view through the Camera is displayed on the Screen using a CameraLayer object. class, P01
CameraLayer

A CameraLayer is a subclass of Layer that displays the image viewed through a Camera on a Screen.

class, P01
Clip Stores binary data within a Q Database with a given mime type. This allows easy distribution of binary assets without requiring separate files. Typical uses of Clips include: image files, sound files and animation state machine definitions. class, P03
Cluster Cluster is a subclass of Geom which provides a small and fast representation of a hierarchy of Geoms and Groups. See also: ClusterInstance class
ClusterInstance A ClusterInstance is a subclass of Instance used to add a Cluster to the scene graph. A ClusterInstance allows the individual transforms of the Cluster hierarchy to be overridden programmatically, or by using an Animation. class
Concept As well as objects used for rendering a 3D scene, Q supplies a generalized Knowledge Base. The Knowledge Base consists of a network of Concepts which can be connected together using relationships to assert facts.

For example, if we have the Concepts "fido", "max" and "dog", we can use the built-in Concept "isa" to construct the relationships "fido isa dog" and "max isa dog". We can then use the Q APIs or the QDS tool to query the Knowledge Base, e.g. if we perform the query "isa dog" then we will find all of the Concepts that satisfy the relationship, i.e. "fido" and "max".

This very generic structure can be used to construct complex relationships between objects, e.g. to store properties of an object.

Each heavy (persistent) Q object has a corresponding Concept.

class, P81
Coordinate system Q uses a left-handed coordinate system with +x to the right, +y up and +z into the screen. P01
Database A Database object provides access to a single .q file which holds an arbitrary set of persistent Q objects and the relationships between them. class, P03, P04
Entity An Entity is an abstract base class that is subclassed within game code to provide the behavior for a given type of game object (e.g. a specific type of monster, a pickup, a gun).

Entities are only created when they come into Scope, they are represented for the rest of their lifetime by an  accompanying EntityInstance object.

class, tutorials
EntityInstance EntityInstances act as lightweight placeholders in the scene graph to bring an Entity object of the appropriate type for the game functionality into the scene. class, P81
Environment The Environment object defines fogging, ambient light and skybox settings for a Zone. See also Light. class
Fogging The system of fading objects toward a certain color as they get further from the camera. See also: Environment.
Font Contains the definition of a typeface packed into a Texture. It is normally used with a TextLayer. class
Frustum The viewing frustum for a Camera defines the volume of 3D space that is rendered. This is defined in terms of a front clipping distance, a far clipping distance and the rectangle at the front clipping distance. P01
Geom Classes derived from Geoms are used for reusable assets that are Instanced into the scene graph. See the class hierarchy for classes derived from Geom. class, P01
Group A hierarchy of Groups is attached to a Zone below the Zone root. A Group defines the transform for a node in the scene graph. class, P01, P02
ImageLayer A subclass of Layer that is used to display a two dimensional image, e.g. for game UI display. class
Instance An Instance object places an item in the scene graph at a position and orientation specified by a Group. Specializations of Instance are used for more complex Geoms that require Instance-specific data to be persisted, e.g. PortalInstance, ClusterInstance. Refer to the class hierarchy for the complete list of specializations. class, P01
KeyboardListener KeyboardListener is an abstract interface which client code can subclass to subscribe to keyboard events from a Layer object that has focus. See also: Listener. class, P02
Layer A Layer defines a rectangular area of the Screen which can display content and receive keyboard and mouse events. See also CameraLayer, ImageLayer, LogLayer, TextLayer. class, P01
Light A subclass of Geom used to illuminate objects in a scene. Lights may be omni-directional or spot lights. Other lighting is provided by the Environment object. A Light is placed in the scene graph using an Instance. class, P01, P02
Listener

Listeners are used by various Q classes. The client code subclasses a particular listener, adds it to the Q object to subscribe to events on that interface and implements the required methods to handle the events. See also: KeyboardListener, ApplicationListener, MouseListener.

P01, P02
LogLayer A subclass of Layer that is used to display output from the message logging subsystem of Q. class
Mesh A Mesh is a subclass of Geom which defines a polygonal object composed of triangles, wedges and vertices. Each triangle specifies a Shader that defines its visual characteristics. class, P01
Mip-making Mip-making is a technique to reduce the memory footprint and bandwidth demands of Textures. It involves preprocessing a Texture to create multiple copies, where each successive copy is one half the size in both dimensions of the previous copy. The farther the polygon from the camera, the lower the level of detail needed to render it. By having copies of a texture with different sizes, the graphics engine and the graphics card can choose the most appropriate one to use for a given polygon depending on how close it is to the Camera.
MouseListener MouseListener is an abstract interface which client code can subclass to subscribe to mouse events from a Layer object that has focus. See also: Listener. class
Palettized textures Palettized images contain a palette: a table of colors used in the image. For instance, an 8 bit-per-pixel image contains 256 (28) palette entries. The image can only contain colors from the palette. This is a compression technique.
Playback A Playback object is used to play Animation data on a given target Group, AnimationBundle (synchronized set of Groups) , Cluster or Texture. class, P81
Portal A Portal is used to connect two Zones together. A Portal is a subclass of Geom that is placed in the scene graph using a PortalInstance. class
PortalInstance A PortalInstance is a subclass of Instance used to instance a Portal into the scene graph. class
Puppet A Puppet combines a model geometry and a Q Animation Machine. It controls the animation of an Entity's geometry. An in-depth description of Puppets is available here.
QAM Q Animation Machine files are used to build state machines which sequence animations by specifying how they relate to each other. The sequences are then applied to some geometry using a Puppet. An in-depth description of Q Animation Machines is available here.  
QML QML is the representation of Q data in the standard XML format (an industry-standard format for hierarchical data). The format is described here in the QStudio documentation  
QSettings QSettings is a standalone application used to configure logging, builds and other QSDK settings. P03, QSettings Help
Region A Region is a subclass of Geom which defines an invisible cuboid region of space that can receive intersection events. They are often used to construct  trigger volumes in game implementations. A Region is placed in the scene graph using an Instance. class
Scene graph The scene graph is the set of items that will be rendered and simulated. In Q the scene graph is divided into Zones. Each Zone has a hierarchy of Groups to give Instances of Geoms a transform. P01
Scope A Scope defines a set of Zones that the Q engine currently has loaded into memory and is simulating. A Scope is placed on a Group, e.g. the Group for a Camera, and is given a radius. The radius determines how many Zones neighboring the Scope Zone will be loaded: if the number of Portals that must be traversed to get from the Scope's Zone to a Zone is less than or equal to the radius then that Zone will be loaded and simulated. class, P01
Screen A Screen is responsible for controlling the physical size of the rendering window. It defines a virtual coordinate system used for placing Layers to render 3D, image and text content. class, P01
Shader A Shader specifies how a rendered triangle is to be colored and lit. class, P03, P04
Skin A Skin is a polygonal mesh that is associated with a set of bones or joints within a Cluster. As the joints move the mesh smoothly deforms. class
Skybox A specially built mesh, designed to show the far distance of a scene, typically a cloud scene or other horizon detail. 
Texture A Texture is a set of mip-mapped images used for the diffuse or specular map of a Shader. class, P03, P04
TextLayer A subclass of Layer which displays text using a specified Font. class
Transform Each Group in the scene graph stores a transform. This is a matrix which embodies the position, orientation and scale of the node in the scene graph relative to its parent. P02
Triangle A Mesh is composed of triangles, each built from three wedges and a Shader.

Triangles are accessed using the Mesh's TriangleIterator.

P04
TriangleIterator This class lets you edit or read a Mesh or Skin's triangles. class, P04
Utility class A utility class is a class that groups static standard constants and static utility methods together. It can be regarded as a namespace encompassing related functions. Its constructor is private: utility classes cannot be instantiated.
Vertex A vertex is the 3D location of a triangle corner for a Mesh or Skin. P04
VertexIterator This class lets you edit or read a Mesh or Skin's vertices. class, P04
Wedge A Mesh triangle is a set of references to three wedges. A wedge combines a vertex with a normal, texture coordinates and a vertex color. P04
WedgeIterator This class lets you edit or read a Mesh or Skin's wedges. class, P04
Zone The rendered scene graph content is divided into Zones for performance and authoring reasons. Each Zone contains a subset of the entire scene which consists of a hierarchy of Groups attached to its own root Group. Instances of Geoms are attached to the Groups to position visible (and invisible) content. class, P01
Zone root The top Group of a hierarchy. It is created automatically with each Zone. P01

Return to QSDK documentation Contents page. Contact details for support, information and fault-reporting.
Qube Software Limited © 2000-2004