3#ifndef vtkWebGPUActor_h
4#define vtkWebGPUActor_h
8#include "vtkRenderingWebGPUModule.h"
11VTK_ABI_NAMESPACE_BEGIN
45 layouts.emplace_back(this->ActorBindGroupLayout);
82 vtkTypeFloat32 World[4][4] = {};
83 vtkTypeFloat32 Normal[3][4] = {};
89 vtkTypeFloat32 PointSize = 0;
91 vtkTypeFloat32 LineWidth = 0;
94 vtkTypeFloat32 EdgeWidth = 0;
96 vtkTypeUInt32 Flags = 0;
102 vtkTypeFloat32 AmbientIntensity = 0;
104 vtkTypeFloat32 DiffuseIntensity = 1;
106 vtkTypeFloat32 SpecularIntensity = 0;
108 vtkTypeFloat32 SpecularPower = 0;
110 vtkTypeFloat32 Opacity = 0;
112 vtkTypeUInt32 Pad[3];
114 vtkTypeFloat32 AmbientColor[4] = {};
116 vtkTypeFloat32 DiffuseColor[4] = {};
118 vtkTypeFloat32 SpecularColor[4] = {};
120 vtkTypeFloat32 EdgeColor[4] = {};
122 vtkTypeFloat32 VertexColor[4] = {};
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 superclass for all actors, volumes and annotations
abstract specification for renderers
record modification and/or execution time
void SetValue(bool newValue)
Update the cached value with the new value.
bool GetValue()
Returns the cached Value.
bool IsOutdated(vtkMapper *mapper)
Returns true if the timestamp of the cached value is older than the mapper's MTime.
vtkNew< vtkTransform > NormalTransform
vtkTimeStamp ShadingOptionsBuildTimestamp
vtkTimeStamp ModelTransformsBuildTimestamp
wgpu::BindGroupLayout ActorBindGroupLayout
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
MapperBooleanCache MapperHasTranslucentPolygonalGeometry
virtual bool UpdateKeyMatrices()
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have opaque/translucent polygonal geometry? These methods are overriden to skip redund...
const void * GetCachedActorInformation()
wgpu::BindGroup ActorBindGroup
MapperBooleanCache MapperHasOpaqueGeometry
~vtkWebGPUActor() override
bool CacheActorTransforms()
void Render(vtkRenderer *renderer, vtkMapper *mapper) override
Actual actor render method.
vtkNew< vtkMatrix3x3 > NormalMatrix
void ReleaseGraphicsResources(vtkWindow *window) override
Release any graphics resources that are being consumed by this actor.
void PopulateBindgroupLayouts(std::vector< wgpu::BindGroupLayout > &layouts)
void AllocateResources(vtkWebGPUConfiguration *renderer)
bool CacheActorShadeOptions()
vtkTimeStamp RenderOptionsBuildTimestamp
bool SupportRenderBundles()
Returns true if the actor supports rendering with render bundles, false otherwise.
static vtkWebGPUActor * New()
ActorBlock CachedActorInfo
static std::size_t GetCacheSizeBytes()
vtkNew< vtkMatrix4x4 > MCWCMatrix
vtkTypeBool HasOpaqueGeometry() override
Does this prop have opaque/translucent polygonal geometry? These methods are overriden to skip redund...
void ShallowCopy(vtkProp *other) override
Shallow copy of an actor.
bool CacheActorRenderOptions()
Create a webgpu device for use in rendering and compute pipelines.
Class to create and retrieve render pipelines based on a given key.
window superclass for vtkRenderWindow