3 #ifndef vtkWebGPURenderPipelineDescriptorInternals_h
4 #define vtkWebGPURenderPipelineDescriptorInternals_h
6 #include "vtkRenderingWebGPUModule.h"
11 VTK_ABI_NAMESPACE_BEGIN
13 :
public wgpu::RenderPipelineDescriptor
16 static constexpr
int kMaxVertexBuffers = 8u;
17 static constexpr
int kMaxVertexAttributes = 16u;
18 static constexpr
int kMaxColorAttachments = 8u;
30 wgpu::DepthStencilState* EnableDepthStencil(
31 wgpu::TextureFormat format = wgpu::TextureFormat::Depth24PlusStencil8);
32 void DisableDepthStencil();
34 wgpu::BlendState* EnableBlending(std::size_t colorTargetId);
35 void DisableBlending(std::size_t colorTargetId);
37 std::array<wgpu::VertexBufferLayout, kMaxVertexBuffers>
cBuffers;
38 std::array<wgpu::VertexAttribute, kMaxVertexAttributes>
cAttributes;
39 std::array<wgpu::ColorTargetState, kMaxColorAttachments>
cTargets;
40 std::array<wgpu::BlendState, kMaxColorAttachments>
cBlends;
std::array< wgpu::ColorTargetState, kMaxColorAttachments > cTargets
std::array< wgpu::VertexAttribute, kMaxVertexAttributes > cAttributes
std::array< wgpu::BlendState, kMaxColorAttachments > cBlends
wgpu::FragmentState cFragment
wgpu::DepthStencilState cDepthStencil
std::array< wgpu::VertexBufferLayout, kMaxVertexBuffers > cBuffers