4#ifndef vtkWebGPUBatchedLabeledDataMapperInternals_h
5#define vtkWebGPUBatchedLabeledDataMapperInternals_h
7#include "vtkRenderingWebGPUModule.h"
13VTK_ABI_NAMESPACE_BEGIN
65 vtkWebGPUActor* actor, std::string& vss, std::string& fss)
override;
67 vtkWebGPUActor* actor, std::string& vss, std::string& fss)
override;
69 vtkWebGPUActor* actor, std::string& vss, std::string& fss)
override;
represents an object (geometry & properties) in a rendered scene
abstract specification for renderers
vtkWebGPU::Buffer InstanceBuffers[NUM_INSTANCE_ATTRIBS]
void ReplaceShaderConstantsDef(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss, std::string &fss) override
vtkWebGPU::TextureView GlyphsTextureView
void ReplaceVertexShaderUVs(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
void ReplaceVertexShaderVertexId(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
void SetVertexBuffers(const WGPURenderBundleEncoder &encoder) override
vtkWebGPU::Buffer LabelUniformBuffer
void ReplaceVertexShaderInputDef(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
void RenderPiece(vtkRenderer *renderer, vtkActor *actor) override
Implemented by sub classes.
void ReplaceFragmentShaderCoincidentOffset(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss) override
void ReplaceFragmentShaderColors(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss) override
static vtkWebGPUBatchedLabeledDataMapperInternals * New()
std::vector< WGPUBindGroupEntry > GetMeshBindGroupEntries() override
Allow subclasses to customize the entries in the bind group corresponding to GROUP_MESH.
DrawCallArgs GetDrawCallArgs(GraphicsPipelineType pipelineType, vtkWebGPUCellToPrimitiveConverter::TopologySourceType topologySourceType) override
void ReplaceVertexShaderNormals(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
void SetVertexBuffers(const WGPURenderPassEncoder &encoder) override
void ReplaceVertexShaderTangents(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
vtkWebGPUBatchedLabeledDataMapper * Parent
void ReplaceVertexShaderPosition(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
void ReplaceFragmentShaderLights(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss) override
~vtkWebGPUBatchedLabeledDataMapperInternals() override=default
void ReplaceFragmentShaderNormals(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &fss) override
std::vector< WGPUBindGroupLayoutEntry > GetMeshBindGroupLayoutEntries() override
Allow subclasses to customize the entries in the bind group layout corresponding to GROUP_MESH.
void ReplaceVertexShaderColors(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss) override
void ReleaseGraphicsResources(vtkWindow *window) override
Release any graphics resources that are being consumed by this mapper.
void ReplaceShaderCustomBindings(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss, std::string &fss) override
std::vector< WGPUVertexBufferLayout > GetVertexBufferLayouts() override
vtkWebGPU::Texture GlyphsTexture
bool IsPipelineSupported(GraphicsPipelineType pipelineType) override
Whether shaders must be built to target the specific pipeline.
DrawCallArgs GetDrawCallArgsForDrawingVertices(vtkWebGPUCellToPrimitiveConverter::TopologySourceType topologySourceType) override
WGPUVertexAttribute InstanceAttributes[3]
void ReplaceShaderCustomDef(GraphicsPipelineType pipelineType, vtkWebGPURenderer *renderer, vtkWebGPUActor *actor, std::string &vss, std::string &fss) override
vtkWebGPU::Sampler GlyphsSampler
uint64_t InstanceBufferSizes[NUM_INSTANCE_ATTRIBS]
vtkWebGPUBatchedLabeledDataMapperInternals()=default
void InvalidatePipelines()
WebGPU backend for vtkBatchedLabeledDataMapper.
TopologySourceType
All supported types of topology.
Create a webgpu device for use in rendering and compute pipelines.
bool RebuildGraphicsPipelines
friend class vtkWebGPURenderer
vtkWebGPUPolyDataMapper()
GraphicsPipelineType
This mapper uses different WGPURenderPipeline to render a list of primitives.
window superclass for vtkRenderWindow
Reference-counted ownership for WebGPU C API handles.