VTK  9.3.1
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
vtkNew< vtkOpenGLPolyDataMapper > CubeMapper
PolyDataMapper using OpenGL to render.
virtual void Render(vtkRenderer *, vtkMapper *)
This causes the actor to be rendered.
Definition: vtkActor.h:82
abstract base class for most VTK objects
Definition: vtkObject.h:51
abstract specification for renderers
Definition: vtkRenderer.h:61
OpenGL actor.
a simple class to control print indentation
Definition: vtkIndent.h:28
Renders a skybox environment.
Definition: vtkSkybox.h:20
OpenGL Skybox.
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:76
vtkNew< vtkOpenGLActor > OpenGLActor
static vtkSkybox * New()
vtkRenderer * CurrentRenderer
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.