28 WGPUTextureView
View =
nullptr;
37 float Right[3] = { 1.0f, 0.0f, 0.0f };
38 float Up[3] = { 0.0f, 1.0f, 0.0f };
39 float Front[3] = { 0.0f, 0.0f, 1.0f };
45 bool IsReady()
const {
return this->Ready; }
69 void ComputeEnvironment(
74 bool SourceConvertToLinear =
false;
75 bool SourceIsCubeMap =
false;
76 WGPUTextureView SourceView =
nullptr;
77 float SourceBasis[9] = {};
79 std::uint32_t EnvironmentSize = 0;
80 std::uint32_t EnvironmentLevels = 0;
81 std::uint32_t PrefilterLevels = 5;
83 vtkWebGPU::Sampler Sampler;
84 vtkWebGPU::Sampler SourceSampler;
85 vtkWebGPU::Texture EnvironmentCube;
86 vtkWebGPU::TextureView EnvironmentCubeView;
87 vtkWebGPU::Texture PrefilterCube;
88 vtkWebGPU::TextureView PrefilterCubeView;
89 vtkWebGPU::Texture IrradianceCube;
90 vtkWebGPU::TextureView IrradianceCubeView;
91 vtkWebGPU::Texture LookupTable;
92 vtkWebGPU::TextureView LookupTableView;
93 vtkWebGPU::Buffer HarmonicsBuffer;
95 vtkWebGPU::BindGroupLayout EnvironmentLayout;
96 vtkWebGPU::ComputePipeline EquirectangularPipeline;
97 vtkWebGPU::BindGroupLayout CubeLayout;
98 vtkWebGPU::ComputePipeline CubePipeline;
99 vtkWebGPU::BindGroupLayout DownsampleLayout;
100 vtkWebGPU::ComputePipeline DownsamplePipeline;
101 vtkWebGPU::BindGroupLayout PrefilterLayout;
102 vtkWebGPU::ComputePipeline PrefilterPipeline;
103 vtkWebGPU::BindGroupLayout IrradianceLayout;
104 vtkWebGPU::ComputePipeline IrradiancePipeline;
105 vtkWebGPU::BindGroupLayout HarmonicsLayout;
106 vtkWebGPU::ComputePipeline HarmonicsPipeline;
107 vtkWebGPU::BindGroupLayout LookupTableLayout;
108 vtkWebGPU::ComputePipeline LookupTablePipeline;
bool Dump(vtkWebGPUConfiguration *configuration, const std::string &directory)
Reads the generated textures back and writes them in the given directory: the lookup table,...