3#ifndef vtkWebGPUActor_h
4#define vtkWebGPUActor_h
8#include "vtkRenderingWebGPUModule.h"
9#include "vtkTypeUInt32Array.h"
12VTK_ABI_NAMESPACE_BEGIN
81 PointNormals = 1 << 1,
82 PointTangents = 1 << 2,
90 this->MapperRenderPipelineOutdated = value;
97 this->DynamicOffsets = offsets;
104 bool CachedMapperHasOpaqueGeometry =
false;
105 bool CachedMapperHasTranslucentPolygonalGeometry =
false;
113 vtkTypeFloat32 World[4][4] = {};
114 vtkTypeFloat32 Normal[3][4] = {};
120 vtkTypeUInt32 Representation = 0;
122 vtkTypeFloat32 PointSize = 0;
124 vtkTypeFloat32 LineWidth = 0;
126 vtkTypeUInt32 EdgeVisibility = 0;
132 vtkTypeFloat32 AmbientIntensity = 0;
134 vtkTypeFloat32 DiffuseIntensity = 0;
136 vtkTypeFloat32 SpecularIntensity = 0;
138 vtkTypeFloat32 SpecularPower = 0;
140 vtkTypeFloat32 Opacity = 0;
145 vtkTypeUInt32 ShadingType = 0;
148 vtkTypeUInt32 DirectionalMaskType = 0;
150 vtkTypeUInt8 Pad1[4] = {};
152 vtkTypeFloat32 AmbientColor[4] = {};
154 vtkTypeFloat32 DiffuseColor[4] = {};
156 vtkTypeFloat32 SpecularColor[4] = {};
158 vtkTypeFloat32 EdgeColor[4] = {};
173 bool MapperRenderPipelineOutdated =
false;
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
abstract class specifies interface to map data to graphics primitives
represent and manipulate 3x3 transformation matrices
Allocate and hold a VTK object.
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
record modification and/or execution time
vtkNew< vtkTransform > NormalTransform
void SetMapperRenderPipelineOutdated(bool value)
wgpu::RenderBundleEncoder GetRenderBundleEncoder()
vtkTimeStamp ShadingOptionsBuildTimestamp
vtkTimeStamp ModelTransformsBuildTimestamp
void SetShadingType(ShadingTypeEnum shadeType)
void CacheActorRenderOptions()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int Update(vtkRenderer *renderer, vtkMapper *mapper)
Request mapper to run the vtkAlgorithm pipeline (if needed) and consequently update device buffers co...
virtual bool UpdateKeyMatrices()
vtkTypeBool HasTranslucentPolygonalGeometry() override
Re-use cached values in between consecutive buffer update stages.
MapperRenderType GetMapperRenderType()
const void * GetCachedActorInformation()
wgpu::RenderBundle RenderToBundle(vtkRenderer *ren, vtkMapper *mapper)
~vtkWebGPUActor() override
vtkSmartPointer< vtkTypeUInt32Array > DynamicOffsets
void CacheActorTransforms()
vtkNew< vtkMatrix3x3 > NormalMatrix
void SetDirectionalMaskType(vtkTypeUInt32 directionalMask)
wgpu::RenderBundleEncoder CurrentBundler
void SetDynamicOffsets(vtkSmartPointer< vtkTypeUInt32Array > offsets)
vtkTimeStamp RenderOptionsBuildTimestamp
void CacheActorShadeOptions()
static vtkWebGPUActor * New()
ActorBlock CachedActorInfo
static std::size_t GetCacheSizeBytes()
vtkNew< vtkMatrix4x4 > MCWCMatrix
vtkTypeBool HasOpaqueGeometry() override
Re-use cached values in between consecutive buffer update stages.
void Render(vtkRenderer *ren, vtkMapper *mapper) override
Actual actor render method.