Creates a new RenderTarget instance. A color buffer or a depth buffer must be set.
Optional
options: { Object for passing optional arguments.
If samples > 1, enables or disables automatic MSAA resolve after rendering to this RT (see RenderTarget#resolve). Defaults to true.
The texture that this render target will treat as a rendering surface.
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.
If set to true, depth buffer will be created. Defaults to true. Ignored if depthBuffer is defined.
The 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.
If 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.
When set to true the image will be flipped in Y. Default is false.
The name of the render target.
Number of hardware anti-aliasing samples (not supported on WebGL1). Default is 1.
If set to true, depth buffer will include stencil. Defaults to false. Ignored if depthBuffer is defined or depth is false.
Rest
...args: any = {}// 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.
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.