VTK  9.3.0
vtkOpenGLSkybox.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 #ifndef vtkOpenGLSkybox_h
15 #define vtkOpenGLSkybox_h
16 
17 #include "vtkNew.h" // for ivars
18 #include "vtkRenderingOpenGL2Module.h" // For export macro
19 #include "vtkSkybox.h"
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class vtkOpenGLActor;
24 
25 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLSkybox : public vtkSkybox
26 {
27 public:
28  static vtkOpenGLSkybox* New();
29  vtkTypeMacro(vtkOpenGLSkybox, vtkSkybox);
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
35  void Render(vtkRenderer* ren, vtkMapper* mapper) override;
36 
37 protected:
39  ~vtkOpenGLSkybox() override;
40 
43  float LastCameraPosition[3];
44 
45  void UpdateUniforms(vtkObject*, unsigned long, void*);
46 
50 
51 private:
52  vtkOpenGLSkybox(const vtkOpenGLSkybox&) = delete;
53  void operator=(const vtkOpenGLSkybox&) = delete;
54 };
55 
56 VTK_ABI_NAMESPACE_END
57 #endif
a simple class to control print indentation
Definition: vtkIndent.h:29
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:77
abstract base class for most VTK objects
Definition: vtkObject.h:52
OpenGL actor.
PolyDataMapper using OpenGL to render.
OpenGL Skybox.
vtkRenderer * CurrentRenderer
vtkNew< vtkOpenGLPolyDataMapper > CubeMapper
void UpdateUniforms(vtkObject *, unsigned long, void *)
static vtkOpenGLSkybox * New()
~vtkOpenGLSkybox() override
vtkNew< vtkOpenGLActor > OpenGLActor
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Render(vtkRenderer *ren, vtkMapper *mapper) override
Actual Skybox render method.
abstract specification for renderers
Definition: vtkRenderer.h:62
Renders a skybox environment.
Definition: vtkSkybox.h:21