VTK  9.7.1
vtkPBRLUTTexture.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
11 #ifndef vtkPBRLUTTexture_h
12 #define vtkPBRLUTTexture_h
13 
14 #include "vtkOpenGLTexture.h"
15 #include "vtkRenderingOpenGL2Module.h" // For export macro
16 #include "vtkSmartPointer.h" // For vtkSmartPointer
17 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
18 
19 VTK_ABI_NAMESPACE_BEGIN
22 class vtkOpenGLTexture;
23 class vtkRenderWindow;
24 
25 class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkPBRLUTTexture : public vtkOpenGLTexture
26 {
27 public:
28  static vtkPBRLUTTexture* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
35  void Load(vtkRenderer*) override;
36 
40  void Render(vtkRenderer* ren) override { this->Load(ren); }
41 
43 
47  vtkGetMacro(LUTSize, unsigned int);
48  vtkSetMacro(LUTSize, unsigned int);
50 
52 
56  vtkGetMacro(LUTSamples, unsigned int);
57  vtkSetMacro(LUTSamples, unsigned int);
59 
60 protected:
61  vtkPBRLUTTexture() = default;
62  ~vtkPBRLUTTexture() override = default;
63 
64  unsigned int LUTSize = 512;
65  unsigned int LUTSamples = 1024;
66 
67 private:
68  vtkPBRLUTTexture(const vtkPBRLUTTexture&) = delete;
69  void operator=(const vtkPBRLUTTexture&) = delete;
70 };
71 
72 VTK_ABI_NAMESPACE_END
73 #endif
OpenGL rendering window.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract specification for renderers
Definition: vtkRenderer.h:63
void Load(vtkRenderer *) override
Implement base class method.
OpenGL texture map.
a simple class to control print indentation
Definition: vtkIndent.h:28
void Render(vtkRenderer *ren) override
Implement base class method.
Internal class which encapsulates OpenGL FramebufferObject.
precompute BRDF look-up table texture used in physically based rendering
create a window for renderers to draw into
#define VTK_MARSHALAUTO
static vtkOpenGLTexture * New()