Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

Phx::GraphicsEngine Class Reference

The graphics engine interface that exports basic, programatically controllable features. More...

#include <PhxGraphicsEngine.h>

Inheritance diagram for Phx::GraphicsEngine:

Phx::NamedInterface Phx::LockedPtrInterface< NamedInterface > List of all members.

Public Member Functions

virtual Ptr< NodenewNode (const String &name="")=0
 Creates a new top-level Node interface.
virtual Ptr< NodeskyBoxNode ()=0
 A specia case nod that always moves with the current camera. The skyBoxNode will not rotate only move with the camera.
virtual Ptr< WindowInformationwindowInformation (void) const =0
 Returns a WindowInformation structure containing information about the current rendering window.
virtual String currentCamera (void) const =0
virtual void currentCamera (const String &cameraName)=0
virtual void setAmbrientLight (RgbaColor color)=0
virtual void setFog (void)=0
 no fog.
virtual void setFog (RgbaColor color, double start, double end)=0
 Linerar fog.
virtual void setFog (RgbaColor color, double density)=0
 Exponential fog.

Static Public Attributes

static const NamedInterface::Type INTERFACE_TYPE
static const String INTERFACE_TYPE_NAME
static const NamedInterface::Identifier GRAPHICS_ENGINE_IDENTIFIER
static const String GRAPHICS_ENGINE_NAME

Classes

class  Billboard
class  BillboardDescription
class  BillboardGroup
 Interface to a BillboardGroup source. More...
class  BillboardGroupDescription
 A Description of a Geometry element in the graphics engine. More...
class  Camera
 A camera in the graphics engine. More...
class  DirectionalLight
 Interface to a directional light source. More...
class  DirectionalLightDescription
 Description for a DirectionalLight source. More...
class  Geometry
 A Geometry node represents a piece of polygonal geometry in the scene. More...
class  GeometryDescription
 A Description of a Geometry element in the graphics engine. More...
class  GraphicsEngineDescription
 A description used for configuration of a GraphicsEngine entity. More...
class  Light
 A light source used in the graphics engine. More...
class  LightDescription
 A base-class for descriptions of a light source in the graphics engine. More...
class  MaterialDescription
 A description of a surface material. More...
class  MeshDescription
 A Description representing a raw 3D mesh. More...
class  Node
 A node in the graphics engine scene graph. More...
class  PointLight
 Interface to a point light source. More...
class  PointLightDescription
 Description for a PointLight source. More...
class  SkyBox
 Interface to a sky box source. More...
class  SpotLight
 Interface to a spot light source. More...
class  SpotLightDescription
 Description for a SpotLight source. More...
class  TerrainGeometry
 Interface to a planet-sized piece of terrain in the graphics engine. More...
class  TerrainGeometryDescription
 A Description of a TerrainGeometry displayed by the graphics engine. More...

Detailed Description

The graphics engine interface that exports basic, programatically controllable features.

Not all features will be presented in the public interface. Many may only be accessible depending on the configuration file(s) for the graphics engine implementation and/or the individual meshes and materials in the engine's native format.

The graphics interface does not define a mesh or material format. It only defines a basic interface through which one may set or get basic properties of a mesh or material. The rest of the their properties, which may specify additional behavior known only to the particular underlying engine, are stored in native files. One can specify which of these native files to use, but cannot determine their contents or change them. This is left to content producers who will adjust the native files for each potential engine appropriately.

The graphics engine provides interfaces to manipulate its internal state, which is comprised of the usual suspects: cameras, geometry, lights, materials, and other elements needed to display the scene. One acquires an interface to instances of these elements of the engine's state via the GraphicsEngine interface.

The engine views its scene state (that is, the cameras, lights, and geometry that make up a scene) as a hierarchy of Nodes, with various scene elements attached at their leaves. Geometry, Camera, PointLight, are examples of such elements. A client can construct these interfaces, which will create corresponding elements inside the graphics engine.


Member Function Documentation

virtual Ptr<Node> Phx::GraphicsEngine::newNode const String &  name = ""  )  [pure virtual]
 

Creates a new top-level Node interface.

Parameters:
name An optional debugging name for the node. This need not be unique.
Note:
This interface is safely accessible by multiple concurrent clients.
Returns:
A new Node interface representing a coordinate frame in the engine.

virtual void Phx::GraphicsEngine::setAmbrientLight RgbaColor  color  )  [pure virtual]
 

Note:
RgbaColor(0,0,0,0) equals no ambriant light

virtual Ptr<WindowInformation> Phx::GraphicsEngine::windowInformation void   )  const [pure virtual]
 

Returns a WindowInformation structure containing information about the current rendering window.

The data contained in this structure varies by platform.

Note:
This interface is safely accessible by multiple concurrent clients. However, the platform-specific data returned may have other access restrictions. E.g., it may be illegal to access a returned window context concurrently.
Returns:
Window information for the current platform, or 0 if this information is not available.


The documentation for this class was generated from the following file:
Generated on Mon Jul 10 19:45:29 2006 for Phoenix OSFS by  doxygen 1.4.2