4#ifndef vtkWebGPUTextureDeviceResource_h
5#define vtkWebGPUTextureDeviceResource_h
8#include "vtkRenderingWebGPUModule.h"
11VTK_ABI_NAMESPACE_BEGIN
139 unsigned int GetWidth()
const {
return Extents[0]; }
140 void SetWidth(
unsigned int width) { Extents[0] = width; }
148 void SetHeight(
unsigned int height) { Extents[1] = height; }
155 unsigned int GetDepth()
const {
return Extents[2]; }
156 void SetDepth(
unsigned int depth) { Extents[2] = depth; }
211 vtkGetMacro(MipLevelCount,
unsigned int);
212 vtkSetMacro(MipLevelCount,
unsigned int);
225 unsigned int Extents[3] = { 0, 0, 1 };
228 TextureDimension Dimension = TextureDimension::DIMENSION_2D;
231 TextureFormat Format = TextureFormat::RGBA8_UNORM;
234 TextureMode Mode = TextureMode::UNDEFINED;
237 TextureSampleType SampleType = TextureSampleType::FLOAT;
240 unsigned int MipLevelCount = 1;
a simple class to control print indentation
TextureDimension
How the texture data is arranged.
vtkGetEnumMacro(Dimension, TextureDimension)
Get/set the texture dimension.
unsigned int GetPixelComponentsCount() const
Returns the number of components per pixel for the format of this texture.
unsigned int GetHeight() const
Get/set the height in pixels of the texture.
unsigned int * GetSize()
Get/set the size of the texture.
virtual VTK_WRAPEXCLUDE void SetSize(unsigned int x, unsigned int y, unsigned int z=1)
Get/set the size of the texture.
VTK_WRAPEXCLUDE void GetSize(unsigned int &x, unsigned int &y) const
Get/set the size of the texture.
VTK_WRAPEXCLUDE void GetSize(unsigned int *xyz)
Get/set the size of the texture.
vtkWebGPUTextureDeviceResource()
vtkSetEnumMacro(Dimension, TextureDimension)
Get/set the texture dimension.
unsigned int GetDepth() const
Get/set the depth in pixels of the texture.
virtual unsigned int GetBytesPerPixel() const
Number of bytes used per pixel.
TextureFormat
RGBA8_UNORM: Uses RGB + alpha.
@ DEPTH_24_PLUS_8_STENCIL
TextureSampleType
Determines what kind of value is returned when reading from the texture in the compute shader.
TextureMode
How will the texture be used by the shader.
@ WRITE_ONLY_RENDER_ATTACHMENT
@ READ_WRITE_RENDER_ATTACHMENT_STORAGE
@ READ_WRITE_RENDER_ATTACHMENT
static vtkWebGPUTextureDeviceResource * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetWidth(unsigned int width)
Get/set the width in pixels of the texture.
void SetDepth(unsigned int depth)
Get/set the depth in pixels of the texture.
unsigned int GetWidth() const
Get/set the width in pixels of the texture.
TextureDataType
Because the compute texture can accept multiple data types as input (std::vector, vtkDataArray) but w...
void SetHeight(unsigned int height)
Get/set the height in pixels of the texture.
VTK_WRAPEXCLUDE void GetSize(unsigned int &x, unsigned int &y, unsigned int &z) const
Get/set the size of the texture.
#define VTK_SIZEHINT(...)