GPURenderPipeline
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Giao diện GPURenderPipeline của WebGPU API đại diện cho pipeline kiểm soát các giai đoạn vertex và fragment shader và có thể được sử dụng trong GPURenderPassEncoder hoặc GPURenderBundleEncoder.
Phiên bản đối tượng GPURenderPipeline có thể được tạo bằng phương thức GPUDevice.createRenderPipeline() hoặc GPUDevice.createRenderPipelineAsync().
Thuộc tính phiên bản
Phương thức phiên bản
getBindGroupLayout()-
Trả về đối tượng
GPUBindGroupLayoutcủa pipeline với chỉ mục cho trước (tức là được bao gồm trong bố cục pipeline của lệnh gọiGPUDevice.createRenderPipeline()hoặcGPUDevice.createRenderPipelineAsync()gốc).
Ví dụ
Note: Mẫu WebGPU có nhiều ví dụ hơn.
Ví dụ cơ bản
Demo kết xuất cơ bản của chúng ta cung cấp ví dụ về việc xây dựng đối tượng descriptor pipeline kết xuất hợp lệ, sau đó được sử dụng để tạo GPURenderPipeline qua lệnh gọi createRenderPipeline().
// …
const vertexBuffers = [
{
attributes: [
{
shaderLocation: 0, // position
offset: 0,
format: "float32x4",
},
{
shaderLocation: 1, // color
offset: 16,
format: "float32x4",
},
],
arrayStride: 32,
stepMode: "vertex",
},
];
const pipelineDescriptor = {
vertex: {
module: shaderModule,
entryPoint: "vertex_main",
buffers: vertexBuffers,
},
fragment: {
module: shaderModule,
entryPoint: "fragment_main",
targets: [
{
format: navigator.gpu.getPreferredCanvasFormat(),
},
],
},
primitive: {
topology: "triangle-list",
},
layout: "auto",
};
const renderPipeline = device.createRenderPipeline(pipelineDescriptor);
// …
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebGPU> # gpurenderpipeline> |