8#ifndef vtkWebGPURenderTextureDeviceResource_h
9#define vtkWebGPURenderTextureDeviceResource_h
11#include "vtkRenderingWebGPUModule.h"
17VTK_ABI_NAMESPACE_BEGIN
114 vtkGetMacro(LODMinClamp,
float);
115 vtkSetMacro(LODMinClamp,
float);
116 vtkGetMacro(LODMaxClamp,
float);
117 vtkSetMacro(LODMaxClamp,
float);
124 vtkGetMacro(MaxAnisotropy, std::uint16_t);
125 vtkSetMacro(MaxAnisotropy, std::uint16_t);
132 vtkGetMacro(SampleCount, std::uint32_t);
133 vtkSetMacro(SampleCount, std::uint32_t);
152 std::uint32_t binding, wgpu::ShaderStage visibility);
168 std::uint32_t binding, wgpu::ShaderStage visibility);
182 vtkSetMacro(Label, std::string);
212 float LODMinClamp = 0.0f;
213 float LODMaxClamp = 32.0f;
214 std::uint16_t MaxAnisotropy = 1;
216 std::uint32_t SampleCount = 1;
217 std::uint32_t BaseMipLevel = 0;
221 wgpu::TextureDescriptor TextureDescriptor;
222 wgpu::Texture Texture;
223 wgpu::SamplerDescriptor SamplerDescriptor;
224 wgpu::Sampler Sampler;
225 wgpu::TextureViewDescriptor TextureViewDescriptor;
226 wgpu::TextureView TextureView;
topologically and geometrically regular array of data
a simple class to control print indentation
Create a webgpu device for use in rendering and compute pipelines.
vtkGetEnumMacro(AddressModeW, AddressMode)
Get/set the address mode for U, V and W directions.
void ReleaseGraphicsResources(vtkWindow *window)
Release graphics resources associated with this texture.
vtkWebGPURenderTextureDeviceResource()
static const char * GetTextureSampleTypeString(TextureSampleType type)
wgpu::BindGroupEntry MakeSamplerBindGroupEntry(std::uint32_t binding)
Create a sampler bind group entry.
static wgpu::AddressMode GetWebGPUAddressMode(AddressMode mode)
vtkSetEnumMacro(MipmapFilter, FilterMode)
Get/set the filter mode for magnification, minification and mipmap.
~vtkWebGPURenderTextureDeviceResource() override
wgpu::BindGroupLayoutEntry MakeTextureViewBindGroupLayoutEntry(std::uint32_t binding, wgpu::ShaderStage visibility)
Create a texture view bind group layout entry.
vtkGetEnumMacro(SamplerBindingType, SamplerMode)
Get/set the sampler type for the texture.
vtkGetEnumMacro(MinFilter, FilterMode)
Get/set the filter mode for magnification, minification and mipmap.
vtkSetEnumMacro(AddressModeU, AddressMode)
Get/set the address mode for U, V and W directions.
vtkSetEnumMacro(CompareFunc, CompareFunction)
Get/set the compare function for depth textures.
vtkGetEnumMacro(MipmapFilter, FilterMode)
Get/set the filter mode for magnification, minification and mipmap.
static wgpu::SamplerBindingType GetWebGPUSamplerBindingType(SamplerMode mode)
vtkGetEnumMacro(AddressModeV, AddressMode)
Get/set the address mode for U, V and W directions.
static vtkWebGPURenderTextureDeviceResource * New()
vtkSetStdStringFromCharMacro(Label)
Get/set the label for the texture.
static wgpu::FilterMode GetWebGPUFilterMode(FilterMode mode)
vtkSetEnumMacro(MagFilter, FilterMode)
Get/set the filter mode for magnification, minification and mipmap.
vtkGetCharFromStdStringMacro(Label)
Get/set the label for the texture.
vtkSetEnumMacro(AddressModeV, AddressMode)
Get/set the address mode for U, V and W directions.
vtkGetEnumMacro(AddressModeU, AddressMode)
Get/set the address mode for U, V and W directions.
static wgpu::MipmapFilterMode GetWGPUMipMapFilterMode(FilterMode mode)
wgpu::BindGroupLayoutEntry MakeSamplerBindGroupLayoutEntry(std::uint32_t binding, wgpu::ShaderStage visibility)
Create a sampler bind group layout entry.
vtkGetEnumMacro(MagFilter, FilterMode)
Get/set the filter mode for magnification, minification and mipmap.
vtkSetEnumMacro(SamplerBindingType, SamplerMode)
Get/set the sampler type for the texture.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static wgpu::CompareFunction GetWebGPUCompareFunction(CompareFunction mode)
void SendToWebGPUDevice(std::vector< void * > dataPlanes, vtkWebGPUConfiguration *wgpuConfiguration, bool cubeMap=false)
Send the texture data to the WebGPU device.
vtkSetEnumMacro(MinFilter, FilterMode)
Get/set the filter mode for magnification, minification and mipmap.
vtkSetEnumMacro(AddressModeW, AddressMode)
Get/set the address mode for U, V and W directions.
wgpu::BindGroupEntry MakeTextureViewBindGroupEntry(std::uint32_t binding)
Create a texture view bind group entry.
vtkGetEnumMacro(CompareFunc, CompareFunction)
Get/set the compare function for depth textures.
vtkWebGPUTextureDeviceResource()
TextureSampleType
Determines what kind of value is returned when reading from the texture in the compute shader.
window superclass for vtkRenderWindow