4 #ifndef vtkWebGPUBatchedLabeledDataMapperInternals_h
5 #define vtkWebGPUBatchedLabeledDataMapperInternals_h
7 #include "vtkRenderingWebGPUModule.h"
12 VTK_ABI_NAMESPACE_BEGIN
24 uint32_t NumberOfLabels = 0;
36 NUM_INSTANCE_ATTRIBS = 3
38 wgpu::Buffer InstanceBuffers[NUM_INSTANCE_ATTRIBS];
39 uint64_t InstanceBufferSizes[NUM_INSTANCE_ATTRIBS] = { 0, 0, 0 };
40 wgpu::VertexAttribute InstanceAttributes[3];
41 bool LabelCountChanged =
false;
100 VTK_ABI_NAMESPACE_END
virtual std::vector< wgpu::VertexBufferLayout > GetVertexBufferLayouts()
virtual void ReplaceVertexShaderInputDef(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
represents an object (geometry & properties) in a rendered scene
virtual std::vector< wgpu::BindGroupEntry > GetMeshBindGroupEntries()
Allow subclasses to customize the entries in the bind group corresponding to GROUP_MESH.
virtual bool IsPipelineSupported(GraphicsPipelineType pipelineType)
Whether shaders must be built to target the specific pipeline.
void RenderPiece(vtkRenderer *renderer, vtkActor *act) override
Implemented by sub classes.
static vtkWebGPUPolyDataMapper * New()
virtual void ReplaceFragmentShaderColors(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss)
virtual void ReplaceVertexShaderVertexId(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
virtual void ReplaceVertexShaderUVs(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
virtual void ReplaceShaderConstantsDef(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss, std::string &fss)
virtual void ReplaceShaderCustomDef(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss, std::string &fss)
abstract specification for renderers
virtual void ReplaceFragmentShaderNormals(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss)
virtual void SetVertexBuffers(const wgpu::RenderPassEncoder &passEncoder)
virtual void ReplaceVertexShaderPosition(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
virtual void ReplaceFragmentShaderCoincidentOffset(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss)
wgpu::Texture GlyphsTexture
window superclass for vtkRenderWindow
virtual DrawCallArgs GetDrawCallArgs(GraphicsPipelineType pipelineType, vtkWebGPUCellToPrimitiveConverter::TopologySourceType topologySourceType)
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
virtual void ReplaceVertexShaderNormals(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
virtual void ReplaceVertexShaderTangents(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
WebGPU backend for vtkBatchedLabeledDataMapper.
wgpu::TextureView GlyphsTextureView
virtual void ReplaceFragmentShaderLights(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss)
virtual void ReplaceVertexShaderColors(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss)
virtual void ReplaceShaderCustomBindings(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss, std::string &fss)
Create a webgpu device for use in rendering and compute pipelines.
virtual DrawCallArgs GetDrawCallArgsForDrawingVertices(vtkWebGPUCellToPrimitiveConverter::TopologySourceType topologySourceType)
wgpu::Sampler GlyphsSampler
void InvalidatePipelines()
TopologySourceType
All supported types of topology.
virtual std::vector< wgpu::BindGroupLayoutEntry > GetMeshBindGroupLayoutEntries()
Allow subclasses to customize the entries in the bind group layout corresponding to GROUP_MESH...
wgpu::Buffer LabelUniformBuffer