VTK  9.5.2
vtkPBRIrradianceTexture.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
14
15#ifndef vtkPBRIrradianceTexture_h
16#define vtkPBRIrradianceTexture_h
17
18#include "vtkOpenGLTexture.h"
19#include "vtkRenderingOpenGL2Module.h" // For export macro
20#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
21
22VTK_ABI_NAMESPACE_BEGIN
26class vtkRenderWindow;
27
28class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkPBRIrradianceTexture : public vtkOpenGLTexture
29{
30public:
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
36
40 vtkGetObjectMacro(InputTexture, vtkOpenGLTexture);
42
46 void Load(vtkRenderer*) override;
47
51 void Render(vtkRenderer* ren) override { this->Load(ren); }
52
54
58 vtkGetMacro(IrradianceSize, unsigned int);
59 vtkSetMacro(IrradianceSize, unsigned int);
61
63
69 vtkGetMacro(IrradianceStep, float);
70 vtkSetMacro(IrradianceStep, float);
72
74
79 vtkGetMacro(ConvertToLinear, bool);
80 vtkSetMacro(ConvertToLinear, bool);
81 vtkBooleanMacro(ConvertToLinear, bool);
83
91
92protected:
95
96 float IrradianceStep = 0.04908738521; // pi / 64
97 unsigned int IrradianceSize = 256;
99 bool ConvertToLinear = false;
100
101private:
103 void operator=(const vtkPBRIrradianceTexture&) = delete;
104};
105
106VTK_ABI_NAMESPACE_END
107#endif
a simple class to control print indentation
Definition vtkIndent.h:29
Internal class which encapsulates OpenGL FramebufferObject.
OpenGL rendering window.
OpenGL texture map.
void Load(vtkRenderer *) override
Implement base class method.
void Render(vtkRenderer *ren) override
Implement base class method.
vtkPBRIrradianceTexture()=default
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this texture.
void Load(vtkRenderer *) override
Implement base class method.
static vtkPBRIrradianceTexture * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkPBRIrradianceTexture() override
void SetInputTexture(vtkOpenGLTexture *texture)
Get/Set the input texture.
create a window for renderers to draw into
abstract specification for renderers
Definition vtkRenderer.h:60
window superclass for vtkRenderWindow
Definition vtkWindow.h:26
#define VTK_MARSHALAUTO