The createView()
method of the GPUTexture
interface creates a GPUTextureView
representing a specific view of the GPUTexture
.
createView()
createView(descriptor)
A GPUTextureView
object instance.
The following criteria must be met when calling createView()
, otherwise a GPUValidationError
is generated and an invalid GPUTextureView
object is returned:
In the WebGPU Samples Cubemap demo, you will see multiple examples of how createView()
is used, both as to create a view resource
for a GPUDevice.createBindGroup()
call, and to provide a view
in the depthStencilAttachment
object of a GPUCommandEncoder.beginRenderPass()
descriptor.
const uniformBindGroup = device.createBindGroup({
layout: pipeline.getBindGroupLayout(0),
entries: [
{
binding: 0,
resource: {
buffer: uniformBuffer,
offset: 0,
size: uniformBufferSize,
},
},
{
binding: 1,
resource: sampler,
},
{
binding: 2,
resource: cubemapTexture.createView({
dimension: "cube",
}),
},
],
});
const renderPassDescriptor: GPURenderPassDescriptor = {
colorAttachments: [
{
view: undefined,
loadOp: "clear",
storeOp: "store",
},
],
depthStencilAttachment: {
view: depthTexture.createView(),
depthClearValue: 1.0,
depthLoadOp: "clear",
depthStoreOp: "store",
},
};
const commandEncoder = device.createCommandEncoder();
const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);