OmegaEngine API
1.0.3
|
An object that can be Rendered at a specific Position in a Scene. More...
Public Member Functions | |
void | SetScale (float factor) |
Scales this PositionableRenderable symmetrically More... | |
bool | IsVisible (Camera camera) |
Checks whether this object is visible at the moment (includes Frustum Culling and other filtering criteria). More... | |
virtual bool | Intersects (Ray ray, out float distance) |
Determine whether this PositionableRenderable is intersected by a ray. More... | |
bool | Intersects (Ray ray, out DoubleVector3 position) |
Determine whether this PositionableRenderable is intersected by a ray. More... | |
Public Member Functions inherited from OmegaEngine.Graphics.Renderables.Renderable | |
override string | ToString () |
Public Member Functions inherited from OmegaEngine.EngineElement | |
void | Dispose () |
Public Attributes | |
ICollection< View > | RequiredViews => _requiredViews |
A list of Views that must be rendered before this PositionableRenderable can be rendered More... | |
Public Attributes inherited from OmegaEngine.EngineElement | |
bool | IsEngineSet => _engine != null |
true if the Engine has been set. More... | |
Protected Member Functions | |
virtual void | RecalcWorldTransform () |
Called to generate/update transformation matrices and related values More... | |
void | RenderHelper (Action render, XMaterial material, Camera camera, params LightSource[] lights) |
Provides an automatic rendering framework that handles things like setting textures, materials, lighting and shaders. More... | |
virtual bool | IntersectsBounding (Ray ray) |
Determine whether PositionableRenderable.WorldBoundingBox and PositionableRenderable.WorldBoundingSphere (if defined) are intersected by a ray. More... | |
override void | OnEngineSet () |
Hook that is calld when Engine is set for the first time. | |
Protected Member Functions inherited from OmegaEngine.Graphics.Renderables.Renderable | |
virtual void | OnPreRender () |
void | PrepareRender () |
Should be called before rendering anything - usually called by base constructor More... | |
Protected Member Functions inherited from OmegaEngine.EngineElement | |
void | RegisterChild (EngineElement element, bool autoDispose=true) |
Registers a child EngineElement for automatic Engine setting and Dispose calling. More... | |
void | UnregisterChild (EngineElement element) |
Unregisters a child EngineElement (opposite of RegisterChild). More... | |
virtual void | OnDispose () |
Hook that is called when the object needs to dispose its internal resources. More... | |
Protected Attributes | |
bool | WorldTransformDirty = true |
Does the world transform need to be recalculated? More... | |
Properties | |
bool | Pickable = true [get, set] |
Shall this PositionableRenderable be pickable with the mouse? More... | |
ViewType | RenderIn [get, set] |
In what kind of Views shall this body be rendered? More... | |
SurfaceEffect | SurfaceEffect [get, set] |
What kinds of surface effects (e.g. lighting) to apply to this PositionableRenderable More... | |
SurfaceShader | SurfaceShader [get, set] |
The SurfaceShader to apply to the surface of this PositionableRenderable More... | |
BillboardMode | Billboard [get, set] |
How this PositionableRenderable shall be rotated towards the camera More... | |
Matrix | PreTransform [get, set] |
A transformation matrix that is to be applied before the normal world transform occurs - useful for correcting off-center meshes More... | |
Vector3 | Scale [get, set] |
Scaling to be performed before rendering More... | |
Quaternion | Rotation [get, set] |
The body's rotation quaternion More... | |
DoubleVector3 | Position [get, set] |
The body's position in world space More... | |
BoundingSphere? | BoundingSphere [get, protected set] |
A sphere that completely encompasses the body (in entity space, even before apply PreTransform). More... | |
BoundingSphere? | WorldBoundingSphere [get] |
A sphere that completely encompasses the body (in world space, used for culling tests). More... | |
bool | DrawBoundingSphere [get, set] |
Shall the bounding sphere used to cull this object be drawn/visualized? (used for debugging) More... | |
BoundingBox? | BoundingBox [get, protected set] |
A axis-aligned box that completely encompasses the body (in entity space, even before apply PreTransform). More... | |
BoundingBox? | WorldBoundingBox [get] |
An axis-aligned box that completely encompasses the body (in world space, used for culling tests). More... | |
bool | DrawBoundingBox [get, set] |
Shall the bounding box used to cull this object be drawn/visualized? (used for debugging) More... | |
Properties inherited from OmegaEngine.Graphics.Renderables.Renderable | |
int | RenderCount [get] |
How many times has this entity been rendered in this frame? More... | |
string | Name [get, set] |
Text value to make it easier to identify a particular render entity More... | |
bool | Visible = true [get, set] |
Shall the entity be rendered? More... | |
bool | Wireframe [get, set] |
Shall this entity be drawn in wireframe-mode? (used for debugging) More... | |
float | VisibilityDistance [get, set] |
The maximum distance from which the entity is visible - 0 for infinite More... | |
int | Alpha [get, set] |
The level of transparency from 0 (solid) to 255 (invisible), OmegaEngine.EngineState.AlphaChannel, OmegaEngine.EngineState.BinaryAlphaChannel or OmegaEngine.EngineState.AdditivBlending More... | |
Properties inherited from OmegaEngine.EngineElement | |
Engine | Engine [get, set] |
The Engine instance used by this object. Must be set before using the object. May not be changed once it has been set! More... | |
bool | IsDisposed [get] |
Indicates whether this object has been disposed and can therefore no longer be used. More... | |
Properties inherited from OmegaEngine.IPositionableOffset | |
DoubleVector3 | Offset [get, set] |
A value to be subtracted from IPositionable.Position in order gain IPositionableOffset.EffectivePosition More... | |
Vector3 | EffectivePosition [get] |
The sum of IPositionable.Position and IPositionableOffset.EffectivePosition More... | |
Properties inherited from OmegaEngine.IPositionable | |
DoubleVector3 | Position [get, set] |
The object's position More... | |
Additional Inherited Members | |
Events inherited from OmegaEngine.Graphics.Renderables.Renderable | |
Action | PreRender |
Occurs once per frame before rendering the entity. Will not be executed if the entity is excluded by a culling test. More... | |
|
inlinevirtual |
Determine whether this PositionableRenderable is intersected by a ray.
ray | A ray in world space along which to check for intersections. |
distance | Returns the distance along the ray at which the intersection took place. |
true
if this PositionableRenderable was intersected by the ray .Reimplemented in OmegaEngine.Graphics.Renderables.Model.
|
inline |
Determine whether this PositionableRenderable is intersected by a ray.
ray | A ray in world space along which to check for intersections. |
position | Returns the position of the intersection in entity space. |
true
if this PositionableRenderable was intersected by the ray .
|
inlineprotectedvirtual |
Determine whether PositionableRenderable.WorldBoundingBox and PositionableRenderable.WorldBoundingSphere (if defined) are intersected by a ray.
ray | A ray in world space along which to check for intersections. |
true
if the bounding bodies were undefined or intersected by the ray .Reimplemented in OmegaEngine.Graphics.Renderables.Terrain.
|
inline |
Checks whether this object is visible at the moment (includes Frustum Culling and other filtering criteria).
camera | The Camera used to look the object. |
true
if the object is visible.
|
inlineprotectedvirtual |
Called to generate/update transformation matrices and related values
Reimplemented in OmegaEngine.Graphics.Renderables.Terrain.
|
inlineprotected |
Provides an automatic rendering framework that handles things like setting textures, materials, lighting and shaders.
render | A delegate that will be called once per rendering pass to display the actual content. |
material | The material to apply to everything rendered. |
camera | The currently effective Camera. |
lights | The currently effective LightSources. |
|
inline |
Scales this PositionableRenderable symmetrically
factor | The factor by which to scale |
ICollection<View> OmegaEngine.Graphics.Renderables.PositionableRenderable.RequiredViews => _requiredViews |
A list of Views that must be rendered before this PositionableRenderable can be rendered
|
protected |
Does the world transform need to be recalculated?
|
getset |
How this PositionableRenderable shall be rotated towards the camera
|
getprotected set |
A axis-aligned box that completely encompasses the body (in entity space, even before apply PreTransform).
|
getprotected set |
A sphere that completely encompasses the body (in entity space, even before apply PreTransform).
|
getset |
Shall the bounding box used to cull this object be drawn/visualized? (used for debugging)
|
getset |
Shall the bounding sphere used to cull this object be drawn/visualized? (used for debugging)
|
getset |
Shall this PositionableRenderable be pickable with the mouse?
|
getset |
The body's position in world space
|
getset |
A transformation matrix that is to be applied before the normal world transform occurs - useful for correcting off-center meshes
|
getset |
In what kind of Views shall this body be rendered?
|
getset |
The body's rotation quaternion
|
getset |
Scaling to be performed before rendering
|
getset |
What kinds of surface effects (e.g. lighting) to apply to this PositionableRenderable
|
getset |
The SurfaceShader to apply to the surface of this PositionableRenderable
Will NOT be disposed when EngineElement.Dispose is called.
|
get |
An axis-aligned box that completely encompasses the body (in world space, used for culling tests).
|
get |
A sphere that completely encompasses the body (in world space, used for culling tests).