|
FramebufferType | framebufferType () const override |
| Returns the type of this framebuffer. More...
|
|
virtual size_t | id () const |
| Returns the platform dependent framebuffer base id or handle. More...
|
|
virtual bool | initializeById (const size_t id, const FramebufferRef &shareFramebuffer=FramebufferRef()) |
| Sets the platform dependent framebuffer base id or handle and initializes the framebuffer. More...
|
|
ObjectType | type () const override |
| Returns the type of this object. More...
|
|
virtual const Scenes & | scenes () const |
| Returns the scene connected with this framebuffer. More...
|
|
virtual const ViewRef & | view () const |
| Returns the view connected with this framebuffer. More...
|
|
virtual void | viewport (unsigned int &left, unsigned int &top, unsigned int &width, unsigned int &height) const |
| Returns the viewport of this framebuffer. More...
|
|
virtual FaceMode | faceMode () const |
| Returns the global face mode of the entire framebuffer. More...
|
|
virtual CullingMode | cullingMode () const |
| Returns the global face culling mode of the entire framebuffer. More...
|
|
virtual LightingMode | lightingMode () const |
| Returns the global lighting mode of the entire framebuffer. More...
|
|
virtual RenderTechnique | renderTechnique () const |
| Returns the render technique of the entire framebuffer. More...
|
|
virtual bool | isQuadbufferedStereoSupported () const |
| Returns whether the framebuffer supports quad-buffered stereo views. More...
|
|
virtual bool | isAntialiasingSupported (const unsigned int buffers) const |
| Returns whether the framebuffer supports hardware anti-aliasing. More...
|
|
virtual bool | isAntialiasing () const |
| Returns whether the framebuffer uses hardware anti-aliasing. More...
|
|
virtual ShadowTechnique | shadowTechnique () const |
| Returns the shadow technique of the entire framebuffer. More...
|
|
virtual HomogenousMatrix4 | device_T_display () const |
| Returns the transformation between display and device. More...
|
|
virtual bool | verticalSynchronization () const |
| Returns whether the framebuffer is synchronized with the vertical sync signal of the display device. More...
|
|
virtual std::string | extensions () const |
| Returns all supported extensions of this framebuffer. More...
|
|
virtual bool | hasExtension (const std::string &extension) const |
| Returns whether the framebuffer and thus e.g. More...
|
|
virtual void | addScene (const SceneRef &scene) |
| Adds a new scene to the framebuffer. More...
|
|
virtual void | removeScene (const SceneRef &scene) |
| Removes a scene from the framebuffer. More...
|
|
virtual void | clearScenes () |
| Clears all scenes registered at the framebuffer. More...
|
|
virtual void | setView (const ViewRef &view) |
| Connects a view with this framebuffer. More...
|
|
virtual void | setViewport (const unsigned int left, const unsigned int top, const unsigned int width, const unsigned int height) |
| Sets the viewport of this framebuffer. More...
|
|
virtual void | setPreferredPixelFormat (const FrameType::PixelFormat pixelFormat) |
| Sets the preferred pixel format of this framebuffer. More...
|
|
virtual void | setFaceMode (const FaceMode faceMode) |
| Sets the global face mode of the entire framebuffer. More...
|
|
virtual void | setCullingMode (const CullingMode cullingMode) |
| Sets the global culling mode of the entire framebuffer. More...
|
|
virtual void | setLightingMode (const LightingMode lightingMode) |
| Sets the global lighting mode of the entire framebuffer. More...
|
|
virtual void | setRenderTechnique (const RenderTechnique technique) |
| Sets the rendering technique of the entire framebuffer. More...
|
|
virtual bool | setSupportQuadbufferedStereo (const bool enable) |
| Sets whether this framebuffer will support quad-buffered stereo views. More...
|
|
virtual bool | setSupportAntialiasing (const unsigned int buffers) |
| Sets whether this framebuffer will support hardware anti-aliasing. More...
|
|
virtual bool | setAntialiasing (const bool antialiasing) |
| Sets whether the framebuffer uses hardware anti-aliasing. More...
|
|
virtual void | setShadowTechnique (const ShadowTechnique technique) |
| Sets the shadow technique of the entire framebuffer. More...
|
|
virtual bool | setDevice_T_display (const HomogenousMatrix4 &device_T_display) |
| Sets the transformation between display and device. More...
|
|
virtual void | setVerticalSynchronization (const bool synchronize) |
| Sets whether the framebuffer will is synchronized with the vertical sync signal of the display device. More...
|
|
void | setPreRenderCallback (const RenderCallback &renderCallback) |
| Sets an optional callback function for pre-render events. More...
|
|
void | setPostRenderCallback (const RenderCallback &renderCallback) |
| Sets an optional callback function for pre-render events. More...
|
|
virtual void | render () |
| Renders the next frame into the framebuffer. More...
|
|
virtual bool | render (Frame &frame, Frame *depthFrame=nullptr) |
| Renders the next frame and copies the image content into to a given frame. More...
|
|
virtual bool | intersection (const Line3 &ray, RenderableRef &renderable, Vector3 &position) |
| Returns the renderable object intersected by a given ray. More...
|
|
virtual void | makeCurrent () |
| Makes this framebuffer to the current one. More...
|
|
virtual void | makeNoncurrent () |
| Makes this framebuffer to non current. More...
|
|
virtual bool | linearizeDepthFrame (Frame &depthFrame, const Scalar nearDistance, const Scalar farDistance) const |
| Linearizes a given z-buffer depth frame with non-linear (e.g., logarithmic) depth. More...
|
|
Lock & | lock () const |
| Returns the lock object of this engine. More...
|
|
ObjectId | id () const |
| Returns the unique object id of this object. More...
|
|
const std::string & | name () const |
| Returns the name of this object. More...
|
|
virtual void | setName (const std::string &name) |
| Sets or changes the name of this object. More...
|
|
virtual const std::string & | engineName () const =0 |
| Returns the name of the owner engine. More...
|
|
ObjectRefs | parentObjects () const |
| Returns all parent objects. More...
|
|
ObjectRefSet | parentNodes () const |
| Returns all parent nodes. More...
|
|
virtual std::string | descriptiveInformation () const |
| Returns descriptive information about the object as string. More...
|
|
|
enum | FramebufferType { FRAMEBUFFER_INVALID
, FRAMEBUFFER_BITMAP
, FRAMEBUFFER_WINDOW
} |
| Definition of different framebuffer types. More...
|
|
enum | RenderTechnique { TECHNIQUE_FULL
, TECHNIQUE_TEXTURED
, TECHNIQUE_SHADED
, TECHNIQUE_UNLIT
} |
| Definition of different render techniques. More...
|
|
enum | ShadowTechnique { SHADOW_TECHNIQUE_NONE
, SHADOW_TECHNIQUE_MAPS
} |
| Definition of different shadow techniques. More...
|
|
typedef PrimitiveAttribute::FaceMode | FaceMode |
| Definition of different rendering face modes. More...
|
|
typedef PrimitiveAttribute::CullingMode | CullingMode |
| Definition of different rendering face culling modes. More...
|
|
typedef PrimitiveAttribute::LightingMode | LightingMode |
| Definition of different face lighting modes. More...
|
|
typedef PhantomAttribute::PhantomMode | PhantomMode |
| Definition of different rendering phantom modes. More...
|
|
typedef Callback< void, const size_t, const HomogenousMatrix4, const SquareMatrix4, const Timestamp > | RenderCallback |
| Definition of a callback function for render events. More...
|
|
enum | ObjectType {
TYPE_UNKNOWN
, TYPE_ABSOLUTE_TRANSFORM
, TYPE_ATTRIBUTE
, TYPE_ATTRIBUTE_SET
,
TYPE_BACKGROUND
, TYPE_BILLBOARD
, TYPE_BITMAP_FRAMEBUFFER
, TYPE_BLEND_ATTRIBUTE
,
TYPE_BOX
, TYPE_CONE
, TYPE_CYLINDER
, TYPE_DEPTH_ATTRIBUTE
,
TYPE_DIRECTIONAL_LIGHT
, TYPE_FRAMEBUFFER
, TYPE_FRAME_TEXTURE_2D
, TYPE_GEOMETRY
,
TYPE_GROUP
, TYPE_INDEPENDENT_PRIMITIVE
, TYPE_LIGHT_SOURCE
, TYPE_LINES
,
TYPE_LINE_STRIPS
, TYPE_LOD
, TYPE_MATERIAL
, TYPE_NODE
,
TYPE_OBJECT
, TYPE_PARALLEL_VIEW
, TYPE_PERSPECTIVE_VIEW
, TYPE_PHANTOM_ATTRIBUTE
,
TYPE_POINT_LIGHT
, TYPE_POINTS
, TYPE_PRIMITIVE
, TYPE_PRIMITIVE_ATTRIBUTE
,
TYPE_QUAD_STRIPS
, TYPE_QUADS
, TYPE_RENDERABLE
, TYPE_SCENE
,
TYPE_SHADER_PROGRAM
, TYPE_SHAPE
, TYPE_SKY_BACKGROUND
, TYPE_SPHERE
,
TYPE_SPOT_LIGHT
, TYPE_STEREO_ATTRIBUTE
, TYPE_STEREO_VIEW
, TYPE_STRIP_PRIMITIVE
,
TYPE_SWITCH
, TYPE_TEXT
, TYPE_TEXTURE
, TYPE_TEXTURE_2D
,
TYPE_MEDIA_TEXTURE_2D
, TYPE_TEXTURE_FRAMEBUFFER
, TYPE_TEXTURES
, TYPE_TRANSFORM
,
TYPE_TRIANGLE_FANS
, TYPE_TRIANGLES
, TYPE_TRIANGLE_STRIPS
, TYPE_UNDISTORTED_BACKGROUND
,
TYPE_VERTEX_SET
, TYPE_VIEW
, TYPE_WINDOW_FRAMEBUFFER
} |
| Definition of different object type. More...
|
|
typedef std::unordered_map< ObjectId, unsigned int > | ObjectIdMap |
| Definition of a map holding object ids to reference counters. More...
|
|
static std::string | translateObjectType (const ObjectType objectType) |
| Translates an object type to a readable string. More...
|
|
Scenes | framebufferScenes |
| Scenes registered at the framebuffer. More...
|
|
ViewRef | framebufferView |
| View connected with the framebuffer. More...
|
|
RenderCallback | preRenderCallback_ |
| Optional callback function for pre-render events. More...
|
|
RenderCallback | postRenderCallback_ |
| Optional callback function for post-render events. More...
|
|
Lock | objectLock |
| Lock for the object. More...
|
|
This class is the base class for all window framebuffers.
To initialize the framebuffer set the id of the window receiving the framebuffer.
All userdefined framebuffer properties must be set before the id is set.
Sample code for windows platforms:
{
if (!framebuffer)
throw OceanException("Failed to create a new framebuffer");
framebuffer->setSupportAntialiasing(4);
if (!framebuffer->setId(size_t(window)))
throw OceanException("Failed to initialize the framebuffer");
}
FramebufferRef createFramebuffer(const Framebuffer::FramebufferType type=Framebuffer::FRAMEBUFFER_WINDOW, const Framebuffer::FramebufferConfig &config={})
Returns a new framebuffer of this render engine.
@ FRAMEBUFFER_WINDOW
Window framebuffer type.
Definition: rendering/Framebuffer.h:61
Engine & engine() const
Returns the render engine which is owner of this object.
Ocean::ObjectRef< Engine > EngineRef
Definition of an engine reference object.
Definition: Engine.h:24
SmartObjectRef< WindowFramebuffer > WindowFramebufferRef
Definition of a smart object reference holding a window framebuffer node.
Definition: rendering/WindowFramebuffer.h:21