VTK  9.3.0
vtkWebGPUInternalsRenderPipelineDescriptor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 #ifndef vtkWebGPUInternalsRenderPipelineDescriptor_h
4 #define vtkWebGPUInternalsRenderPipelineDescriptor_h
5 
6 #include "vtkRenderingWebGPUModule.h"
7 #include "vtk_wgpu.h"
8 
9 #include <array>
10 
11 VTK_ABI_NAMESPACE_BEGIN
12 class VTKRENDERINGWEBGPU_EXPORT vtkWebGPUInternalsRenderPipelineDescriptor
13  : public wgpu::RenderPipelineDescriptor
14 {
15 public:
16  static constexpr int kMaxVertexBuffers = 8u;
17  static constexpr int kMaxVertexAttributes = 16u;
18  static constexpr int kMaxColorAttachments = 8u;
19 
21 
29 
30  wgpu::DepthStencilState* EnableDepthStencil(
31  wgpu::TextureFormat format = wgpu::TextureFormat::Depth24PlusStencil8);
33 
34  std::array<wgpu::VertexBufferLayout, kMaxVertexBuffers> cBuffers;
35  std::array<wgpu::VertexAttribute, kMaxVertexAttributes> cAttributes;
36  std::array<wgpu::ColorTargetState, kMaxColorAttachments> cTargets;
37  std::array<wgpu::BlendState, kMaxColorAttachments> cBlends;
38 
39  wgpu::FragmentState cFragment;
40  wgpu::DepthStencilState cDepthStencil;
41 };
42 VTK_ABI_NAMESPACE_END
43 
44 #endif
45 // VTK-HeaderTest-Exclude: vtkWebGPUInternalsRenderPipelineDescriptor.h
vtkWebGPUInternalsRenderPipelineDescriptor & operator=(vtkWebGPUInternalsRenderPipelineDescriptor &&)=delete
std::array< wgpu::ColorTargetState, kMaxColorAttachments > cTargets
vtkWebGPUInternalsRenderPipelineDescriptor(vtkWebGPUInternalsRenderPipelineDescriptor &&)=delete
vtkWebGPUInternalsRenderPipelineDescriptor(const vtkWebGPUInternalsRenderPipelineDescriptor &)=delete
std::array< wgpu::BlendState, kMaxColorAttachments > cBlends
wgpu::DepthStencilState * EnableDepthStencil(wgpu::TextureFormat format=wgpu::TextureFormat::Depth24PlusStencil8)
std::array< wgpu::VertexBufferLayout, kMaxVertexBuffers > cBuffers
vtkWebGPUInternalsRenderPipelineDescriptor & operator=(const vtkWebGPUInternalsRenderPipelineDescriptor &)=delete
std::array< wgpu::VertexAttribute, kMaxVertexAttributes > cAttributes