The ICamera video object interface. More...

#include "murl_video_i_camera.h"

Inherited by Murl::Video::Camera, and Murl::Video::Vulkan::Camera.

Public Member Functions

virtual IObjectGetObjectInterface ()=0
 Get the mutable Video::IObject interface. More...
 
virtual const IObjectGetObjectInterface () const =0
 Get the constant Video::IObject interface. More...
 
virtual Bool Enable ()=0
 Enable the camera. More...
 
virtual Bool Disable ()=0
 Disable the camera. More...
 
virtual Bool Set (IProgram *currentProgram)=0
 Attach the camera to the current GPU program. More...
 
virtual Bool SetColorBufferClearingEnabled (Bool enabled)=0
 Enable/disable clearing of the render target's color buffer. More...
 
virtual Bool IsColorBufferClearingEnabled () const =0
 Check if clearing of the render target's color buffer is enabled. More...
 
virtual Bool SetDepthBufferClearingEnabled (Bool enabled)=0
 Enable/disable clearing of the render target's depth buffer. More...
 
virtual Bool IsDepthBufferClearingEnabled () const =0
 Check if clearing of the render target's depth buffer is enabled. More...
 
virtual Bool SetStencilBufferClearingEnabled (Bool enabled)=0
 Enable/disable clearing of the render target's stencil buffer. More...
 
virtual Bool IsStencilBufferClearingEnabled () const =0
 Check if clearing of the render target's stencil buffer is enabled. More...
 
virtual Bool SetColorBufferClearValue (const Color &color)=0
 Set the clear color in effect when color buffer clearing is enabled. More...
 
virtual Color GetColorBufferClearValue () const =0
 Get the clear color in effect when color buffer clearing is enabled. More...
 
virtual Bool SetDepthBufferClearValue (Real value)=0
 Set the clear value in effect when depth buffer clearing is enabled. More...
 
virtual Real GetDepthBufferClearValue () const =0
 Get the clear value in effect when depth buffer clearing is enabled. More...
 
virtual Bool SetStencilBufferClearValue (UInt8 value)=0
 Set the clear value in effect when stencil buffer clearing is enabled. More...
 
virtual UInt8 GetStencilBufferClearValue () const =0
 Get the clear value in effect when stencil buffer clearing is enabled. More...
 
virtual Bool SetDepthOrder (SInt32 depthOrder)=0
 Set the camera's absolute depth order. More...
 
virtual SInt32 GetDepthOrder () const =0
 Get the camera's absolute depth order. More...
 
virtual Bool SetMask (SInt32 x1, SInt32 x2, SInt32 y1, SInt32 y2)=0
 Set the camera mask. More...
 
virtual SInt32 GetMaskX1 () const =0
 Get the camera mask's left border coordinate. More...
 
virtual SInt32 GetMaskX2 () const =0
 Get the camera mask's right border coordinate. More...
 
virtual SInt32 GetMaskY1 () const =0
 Get the camera mask's bottom border coordinate. More...
 
virtual SInt32 GetMaskY2 () const =0
 Get the camera mask's top border coordinate. More...
 
virtual Bool SetFrontFacingVertexOrder (IEnums::VertexOrder order)=0
 Set the winding order for front-facing polygons. More...
 
virtual IEnums::VertexOrder GetFrontFacingVertexOrder () const =0
 Get the winding order for front-facing polygons. More...
 
virtual Bool SetDepthSortMode (IEnums::DepthSortMode mode)=0
 Set the depth sort mode for geometries within this camera. More...
 
virtual IEnums::DepthSortMode GetDepthSortMode () const =0
 Get the depth sort mode for geometries within this camera. More...
 
virtual Bool SetViewOffsetTransform (const Matrix *offset)=0
 Set an optional view offset for rendering. More...
 
virtual const MatrixGetViewOffsetTransform () const =0
 Get the current view offset matrix. More...
 
virtual Bool SetWorldTransform (const Matrix &transform)=0
 Set the camera's current world transform. More...
 
virtual Bool SetProjectionTransform (const Matrix &projection, Real nearPlane, Real farPlane, Bool isOrthographic)=0
 Set the camera's projection matrix. More...
 
virtual const VectorGetWorldPosition () const =0
 Get the current camera position in world space. More...
 
virtual const VectorGetWorldDirection () const =0
 Get the current camera direction in world space. More...
 
virtual const MatrixGetWorldTransform () const =0
 Get the camera's current world transform. More...
 
virtual const MatrixGetProjectionTransform () const =0
 Get the camera's projection matrix. More...
 
virtual const MatrixGetViewTransform () const =0
 Get the camera's current view matrix. More...
 
virtual const MatrixGetViewProjectionTransform () const =0
 Get the camera's combined current view and projection matrix. More...
 
virtual Real GetNearPlane () const =0
 Get the camera's absolute near clipping plane distance. More...
 
virtual Real GetFarPlane () const =0
 Get the camera's absolute far clipping plane distance. More...
 
virtual Bool IsIntersecting (const Sphere &boundingSphere) const =0
 Check if the camera's view volume intersects a given sphere. More...
 
virtual Bool SetView (IView *view)=0
 Set the camera view. More...
 
virtual IViewGetView () const =0
 Get the camera view. More...
 
virtual void SetUserMask (SInt32 x1, SInt32 x2, SInt32 y1, SInt32 y2)=0
 Set the view mask. More...
 
virtual SInt32 GetUserMaskX1 () const =0
 Get the view mask's left border coordinate. More...
 
virtual SInt32 GetUserMaskX2 () const =0
 Get the view mask's right border coordinate. More...
 
virtual SInt32 GetUserMaskY1 () const =0
 Get the view mask's bottom border coordinate. More...
 
virtual SInt32 GetUserMaskY2 () const =0
 Get the view mask's top border coordinate. More...
 

Detailed Description

The ICamera video object interface.

This interface represents a camera used for rendering a scene.

Used internally by Graph::Camera.

Member Function Documentation

◆ GetObjectInterface() [1/2]

virtual IObject* Murl::Video::ICamera::GetObjectInterface ( )
pure virtual

Get the mutable Video::IObject interface.

Returns
The IObject interface.

◆ GetObjectInterface() [2/2]

virtual const IObject* Murl::Video::ICamera::GetObjectInterface ( ) const
pure virtual

Get the constant Video::IObject interface.

Returns
The IObject interface.

◆ Enable()

virtual Bool Murl::Video::ICamera::Enable ( )
pure virtual

Enable the camera.

Returns
true if successful.

◆ Disable()

virtual Bool Murl::Video::ICamera::Disable ( )
pure virtual

Disable the camera.

Returns
true if successful.

◆ Set()

virtual Bool Murl::Video::ICamera::Set ( IProgram currentProgram)
pure virtual

Attach the camera to the current GPU program.

Parameters
currentProgramThe current GPU program.
Returns
true if successful.

◆ SetColorBufferClearingEnabled()

virtual Bool Murl::Video::ICamera::SetColorBufferClearingEnabled ( Bool  enabled)
pure virtual

Enable/disable clearing of the render target's color buffer.

Parameters
enabledSet to false to disable color buffer clearing.
Returns
true if successful.

◆ IsColorBufferClearingEnabled()

virtual Bool Murl::Video::ICamera::IsColorBufferClearingEnabled ( ) const
pure virtual

Check if clearing of the render target's color buffer is enabled.

Returns
true if color buffer clearing is enabled.

◆ SetDepthBufferClearingEnabled()

virtual Bool Murl::Video::ICamera::SetDepthBufferClearingEnabled ( Bool  enabled)
pure virtual

Enable/disable clearing of the render target's depth buffer.

Parameters
enabledSet to false to disable depth buffer clearing.
Returns
true if successful.

◆ IsDepthBufferClearingEnabled()

virtual Bool Murl::Video::ICamera::IsDepthBufferClearingEnabled ( ) const
pure virtual

Check if clearing of the render target's depth buffer is enabled.

Returns
true if depth buffer clearing is enabled.

◆ SetStencilBufferClearingEnabled()

virtual Bool Murl::Video::ICamera::SetStencilBufferClearingEnabled ( Bool  enabled)
pure virtual

Enable/disable clearing of the render target's stencil buffer.

Parameters
enabledSet to false to disable stencil buffer clearing.
Returns
true if successful.

◆ IsStencilBufferClearingEnabled()

virtual Bool Murl::Video::ICamera::IsStencilBufferClearingEnabled ( ) const
pure virtual

Check if clearing of the render target's stencil buffer is enabled.

Returns
true if stencil buffer clearing is enabled.

◆ SetColorBufferClearValue()

virtual Bool Murl::Video::ICamera::SetColorBufferClearValue ( const Color color)
pure virtual

Set the clear color in effect when color buffer clearing is enabled.

Parameters
colorThe clear color.
Returns
true if successful.

◆ GetColorBufferClearValue()

virtual Color Murl::Video::ICamera::GetColorBufferClearValue ( ) const
pure virtual

Get the clear color in effect when color buffer clearing is enabled.

Returns
The clear color.

◆ SetDepthBufferClearValue()

virtual Bool Murl::Video::ICamera::SetDepthBufferClearValue ( Real  value)
pure virtual

Set the clear value in effect when depth buffer clearing is enabled.

Parameters
valueThe clear value.
Returns
true if successful.

◆ GetDepthBufferClearValue()

virtual Real Murl::Video::ICamera::GetDepthBufferClearValue ( ) const
pure virtual

Get the clear value in effect when depth buffer clearing is enabled.

Returns
The clear value.

◆ SetStencilBufferClearValue()

virtual Bool Murl::Video::ICamera::SetStencilBufferClearValue ( UInt8  value)
pure virtual

Set the clear value in effect when stencil buffer clearing is enabled.

Parameters
valueThe clear value.
Returns
true if successful.

◆ GetStencilBufferClearValue()

virtual UInt8 Murl::Video::ICamera::GetStencilBufferClearValue ( ) const
pure virtual

Get the clear value in effect when stencil buffer clearing is enabled.

Returns
The clear value.

◆ SetDepthOrder()

virtual Bool Murl::Video::ICamera::SetDepthOrder ( SInt32  depthOrder)
pure virtual

Set the camera's absolute depth order.

Parameters
depthOrderThe absolute order of this camera within its view.
Returns
true if successful.

◆ GetDepthOrder()

virtual SInt32 Murl::Video::ICamera::GetDepthOrder ( ) const
pure virtual

Get the camera's absolute depth order.

Returns
The absolute order of this camera within its view.

◆ SetMask()

virtual Bool Murl::Video::ICamera::SetMask ( SInt32  x1,
SInt32  x2,
SInt32  y1,
SInt32  y2 
)
pure virtual

Set the camera mask.

Parameters
x1The left mask coordinate in pixels.
y1The bottom mask coordinate in pixels.
x2The right mask coordinate in pixels.
y2The top mask coordinate in pixels.
Returns
true if successful.

◆ GetMaskX1()

virtual SInt32 Murl::Video::ICamera::GetMaskX1 ( ) const
pure virtual

Get the camera mask's left border coordinate.

Returns
The left mask coordinate in pixels.

◆ GetMaskX2()

virtual SInt32 Murl::Video::ICamera::GetMaskX2 ( ) const
pure virtual

Get the camera mask's right border coordinate.

Returns
The right mask coordinate in pixels.

◆ GetMaskY1()

virtual SInt32 Murl::Video::ICamera::GetMaskY1 ( ) const
pure virtual

Get the camera mask's bottom border coordinate.

Returns
The bottom mask coordinate in pixels.

◆ GetMaskY2()

virtual SInt32 Murl::Video::ICamera::GetMaskY2 ( ) const
pure virtual

Get the camera mask's top border coordinate.

Returns
The top mask coordinate in pixels.

◆ SetFrontFacingVertexOrder()

virtual Bool Murl::Video::ICamera::SetFrontFacingVertexOrder ( IEnums::VertexOrder  order)
pure virtual

Set the winding order for front-facing polygons.

Parameters
orderThe winding order, either clockwise or counter-clockwise.
Returns
true if successful.

◆ GetFrontFacingVertexOrder()

virtual IEnums::VertexOrder Murl::Video::ICamera::GetFrontFacingVertexOrder ( ) const
pure virtual

Get the winding order for front-facing polygons.

Returns
The winding order, either clockwise or counter-clockwise.

◆ SetDepthSortMode()

virtual Bool Murl::Video::ICamera::SetDepthSortMode ( IEnums::DepthSortMode  mode)
pure virtual

Set the depth sort mode for geometries within this camera.

Parameters
modeThe depth sort mode used for this camera.
Returns
true if successful.

◆ GetDepthSortMode()

virtual IEnums::DepthSortMode Murl::Video::ICamera::GetDepthSortMode ( ) const
pure virtual

Get the depth sort mode for geometries within this camera.

Returns
The depth sort mode used for this camera.

◆ SetViewOffsetTransform()

virtual Bool Murl::Video::ICamera::SetViewOffsetTransform ( const Matrix offset)
pure virtual

Set an optional view offset for rendering.

When rendering to a regular 2D frame buffer, the given offset parameter is set to null. When rendering to a cube map frame buffer, the camera gets processed six times (once for each side of the cube map), and the given offset matrix represents a rotation towards the currently active face.

Parameters
offsetThe optional view offset matrix.
Returns
true if successful.

◆ GetViewOffsetTransform()

virtual const Matrix* Murl::Video::ICamera::GetViewOffsetTransform ( ) const
pure virtual

Get the current view offset matrix.

Returns
The view offset matrix, or null if not set.

◆ SetWorldTransform()

virtual Bool Murl::Video::ICamera::SetWorldTransform ( const Matrix transform)
pure virtual

Set the camera's current world transform.

Parameters
transformThe current world transform.
Returns
true if successful.

◆ SetProjectionTransform()

virtual Bool Murl::Video::ICamera::SetProjectionTransform ( const Matrix projection,
Real  nearPlane,
Real  farPlane,
Bool  isOrthographic 
)
pure virtual

Set the camera's projection matrix.

Parameters
projectionThe projection matrix.
nearPlaneThe absolute distance of the near clipping plane.
farPlaneThe absolute distance of the far clipping plane.
isOrthographicIf true, the given matrix represents an orthographic projection.
Returns
true if successful.

◆ GetWorldPosition()

virtual const Vector& Murl::Video::ICamera::GetWorldPosition ( ) const
pure virtual

Get the current camera position in world space.

Returns
The current camera position.

◆ GetWorldDirection()

virtual const Vector& Murl::Video::ICamera::GetWorldDirection ( ) const
pure virtual

Get the current camera direction in world space.

Returns
The current camera direction.

◆ GetWorldTransform()

virtual const Matrix& Murl::Video::ICamera::GetWorldTransform ( ) const
pure virtual

Get the camera's current world transform.

Returns
The current world transform.

◆ GetProjectionTransform()

virtual const Matrix& Murl::Video::ICamera::GetProjectionTransform ( ) const
pure virtual

Get the camera's projection matrix.

Returns
The projection matrix.

◆ GetViewTransform()

virtual const Matrix& Murl::Video::ICamera::GetViewTransform ( ) const
pure virtual

Get the camera's current view matrix.

This equals the inverse of the current world transform.

Returns
The current view matrix.

◆ GetViewProjectionTransform()

virtual const Matrix& Murl::Video::ICamera::GetViewProjectionTransform ( ) const
pure virtual

Get the camera's combined current view and projection matrix.

Returns
The current view/projection matrix.

◆ GetNearPlane()

virtual Real Murl::Video::ICamera::GetNearPlane ( ) const
pure virtual

Get the camera's absolute near clipping plane distance.

Returns
The near plane distance.

◆ GetFarPlane()

virtual Real Murl::Video::ICamera::GetFarPlane ( ) const
pure virtual

Get the camera's absolute far clipping plane distance.

Returns
The far plane distance.

◆ IsIntersecting()

virtual Bool Murl::Video::ICamera::IsIntersecting ( const Sphere boundingSphere) const
pure virtual

Check if the camera's view volume intersects a given sphere.

Parameters
boundingSphereThe world-coordinate bounding sphere to check.
Returns
true if the bounding sphere intersects the view volume.

◆ SetView()

virtual Bool Murl::Video::ICamera::SetView ( IView view)
pure virtual

Set the camera view.

Parameters
viewThe view to use.
Returns
true if successful.

◆ GetView()

virtual IView* Murl::Video::ICamera::GetView ( ) const
pure virtual

Get the camera view.

Returns
The view used.

◆ SetUserMask()

virtual void Murl::Video::ICamera::SetUserMask ( SInt32  x1,
SInt32  x2,
SInt32  y1,
SInt32  y2 
)
pure virtual

Set the view mask.

Parameters
x1The left mask coordinate in pixels.
y1The bottom mask coordinate in pixels.
x2The right mask coordinate in pixels.
y2The top mask coordinate in pixels.

◆ GetUserMaskX1()

virtual SInt32 Murl::Video::ICamera::GetUserMaskX1 ( ) const
pure virtual

Get the view mask's left border coordinate.

Returns
The left mask coordinate in pixels.

◆ GetUserMaskX2()

virtual SInt32 Murl::Video::ICamera::GetUserMaskX2 ( ) const
pure virtual

Get the view mask's right border coordinate.

Returns
The right mask coordinate in pixels.

◆ GetUserMaskY1()

virtual SInt32 Murl::Video::ICamera::GetUserMaskY1 ( ) const
pure virtual

Get the view mask's bottom border coordinate.

Returns
The bottom mask coordinate in pixels.

◆ GetUserMaskY2()

virtual SInt32 Murl::Video::ICamera::GetUserMaskY2 ( ) const
pure virtual

Get the view mask's top border coordinate.

Returns
The top mask coordinate in pixels.

The documentation for this interface was generated from the following file:
  • murl_video_i_camera.h


Copyright © 2011-2024 Spraylight GmbH.