SceneEncoder constructor
SceneEncoder()
Creates an encoder that records into renderPass, allocating
transient uniforms from transientsBuffer.
dimensions is the viewport size used to derive the camera's view
transform; lighting is the scene's IBL environment and analytic
lights, passed to each material's bind. The render pass is
configured for the opaque phase (depth writes on, blending off).
Implementation
SceneEncoder(
gpu.RenderPass renderPass,
gpu.HostBuffer transientsBuffer,
this._camera,
ui.Size dimensions,
this._lighting,
) : _renderPass = renderPass,
_transientsBuffer = transientsBuffer {
_cameraTransform = _camera.getViewTransform(dimensions);
frustum = Frustum.matrix(_cameraTransform);
// Begin the opaque phase.
_renderPass.setDepthWriteEnable(true);
_renderPass.setColorBlendEnable(false);
_renderPass.setDepthCompareOperation(gpu.CompareFunction.lessEqual);
}