Creates a pass that renders a SceneNode and all of its children.
@todo The WebGL context for rendering the scene.
Alterable auxiliary object for tracking changes on render pass inputs and lazy updates.
Context, used to get context information and WebGL API access.
These maps are used to map from a material to all geometries using this material. Alongside the geometry a transform is saved, that is generated during a preprocessing traverse.
Asserts the objects initialization status to be true. Note that the implementation is cached and forwarded to either an empty function when initialized and to an acutal assert(false) otherwise.
Asserts the objects initialization status to be false. Note that the implementation is cached and forwarded to either an empty function when uninitialized and to an acutal assert(false) otherwise.
The camera's viewProjection is used for 3D label placement calculation.
Sets the clear color for rendering.
Property getter for readonly access to the initialization status of an initializable instance.
The NDC offset is used for vertex displacement within subpixel space for anti-aliasing over multiple intermediate frames (multi-frame sampling).
Subpixel offset used for vertex displacement (multi-frame anti-aliasing).
Sets the framebuffer the quads are rendered to.
Framebuffer to render into.
Encapsulates the draw calls made to webgl. This is useful if state should not be changed before rendering, e.g. for shadow mapping.
Triggers rendering a frame of the given hierarchy. All nodes in the hierarchy will be visited recursively and rendered. If nodes contain transformations, they are applied and used for the whole subtree.
Sort all geometries by their material and save their transform given by a scene traversal. With this information, rendering can be sped up later on by avoiding material changes during rendering of the scene.
If enabled, everything will be updated, regardless of tracked alterations.
Method decorator for asserting the initialization status of an initializable to be true.
Method decorator for asserting the initialization status of an initializable to be false.
Method decorator for discarding of Initializable inheritors. This decorator asserts the initialization
status of the instance that is to be discarded, invokes its uninitialization, and falsifies the
initialization status. In order to encourage the use of assertInitialized
and assertUninitialized
they are
dynamically bound to a static, always-failing assert and an empty/undefined function respectively.
Method decorator for initialization of Initializable inheritors. This decorator asserts the initialization status
of the instance that is to be initialized, invokes its initialization with arbitrary number of parameters,
and sets the initialization status to the initialization success (either false or true).
In order to encourage the use of assertInitialized
and assertUninitialized
they are dynamically
bound to either a static, always-failing assert or an empty/undefined function.
Method decorator for uninitialization of Initializable inheritors. This decorator asserts the initialization
status of the instance that is to be uninitialized, invokes its uninitialization, and falsifies the
initialization status. In order to encourage the use of assertInitialized
and assertUninitialized
they are
dynamically bound to a static, always-failing assert and an empty/undefined function respectively.
This class renders a SceneNode hierarchy. It uses one single program for rendering the whole scene. If different programs are necessary to render a scene, multiple SceneNodes should be used for each program that is used. This renderpass calls callbacks such as
updateModelTransform
, which have to be set by the renderer using this renderpass.