Creates a new RenderTarget instance. A color buffer or a depth buffer must be set.
Optional
options: {Object for passing optional arguments.
Optional
autoResolve?: booleanIf samples > 1, enables or disables automatic MSAA resolve after rendering to this RT (see RenderTarget#resolve). Defaults to true.
Optional
colorBuffer?: TextureThe texture that this render target will treat as a rendering surface.
Optional
colorBuffers?: Texture[]The textures that this render target will treat as a rendering surfaces. If this option is set, the colorBuffer option is ignored. This option can be used only when GraphicsDevice#supportsMrt is true.
Optional
depth?: booleanIf set to true, depth buffer will be created. Defaults to true. Ignored if depthBuffer is defined.
Optional
depthBuffer?: TextureThe texture that this render target will treat as a depth/stencil surface (WebGL2 only). If set, the 'depth' and 'stencil' properties are ignored. Texture must have PIXELFORMAT_DEPTH or PIXELFORMAT_DEPTHSTENCIL format.
Optional
face?: numberIf the colorBuffer parameter is a cubemap, use this option to specify the face of the cubemap to render to. Can be:
Defaults to CUBEFACE_POSX.
Optional
flipY?: booleanWhen set to true the image will be flipped in Y. Default is false.
Optional
name?: stringThe name of the render target.
Optional
samples?: numberNumber of hardware anti-aliasing samples (not supported on WebGL1). Default is 1.
Optional
stencil?: booleanIf set to true, depth buffer will include stencil. Defaults to false. Ignored if depthBuffer is defined or depth is false.
// Create a 512x512x24-bit render target with a depth buffer
const colorBuffer = new pc.Texture(graphicsDevice, {
width: 512,
height: 512,
format: pc.PIXELFORMAT_RGB8
});
const renderTarget = new pc.RenderTarget({
colorBuffer: colorBuffer,
depth: true
});
// Set the render target on a camera component
camera.renderTarget = renderTarget;
// Destroy render target at a later stage. Note that the color buffer needs
// to be destroyed separately.
renderTarget.colorBuffer.destroy();
renderTarget.destroy();
camera.renderTarget = null;
The name of the render target.
True if the render target contains the depth attachment.
If the render target is bound to a cubemap, this property specifies which face of the cubemap is rendered to. Can be:
Height of the render target in pixels.
Number of antialiasing samples the render target uses.
True if the render target contains the stencil attachment.
Width of the render target in pixels.
Copies color and/or depth contents of source render target to this one. Formats, sizes and anti-aliasing samples must match. Depth buffer can only be copied on WebGL 2.0.
Source render target to copy from.
Optional
color: booleanIf true, will copy the color buffer. Defaults to false.
Optional
depth: booleanIf true, will copy the depth buffer. Defaults to false.
True if the copy was successful, false otherwise.
Resizes the render target to the specified width and height. Internally this resizes all the assigned texture color and depth buffers.
The width of the render target in pixels.
The height of the render target in pixels.
If samples > 1, resolves the anti-aliased render target (WebGL2 only). When you're rendering to an anti-aliased render target, pixels aren't written directly to the readable texture. Instead, they're first written to a MSAA buffer, where each sample for each pixel is stored independently. In order to read the results, you first need to 'resolve' the buffer - to average all samples and create a simple texture with one color per pixel. This function performs this averaging and updates the colorBuffer and the depthBuffer. If autoResolve is set to true, the resolve will happen after every rendering to this render target, otherwise you can do it manually, during the app update or similar.
Optional
color: boolean = trueResolve color buffer. Defaults to true.
Optional
depth: boolean = ...Resolve depth buffer. Defaults to true if the render target has a depth buffer.
A render target is a rectangular rendering surface.