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
21VTK_ABI_NAMESPACE_BEGIN
22class vtkOpenGLActor;
24
25class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLSkybox : public vtkSkybox
26{
27public:
29 vtkTypeMacro(vtkOpenGLSkybox, vtkSkybox);
30 void PrintSelf(ostream& os, vtkIndent indent) override;
31
35 void Render(vtkRenderer* ren, vtkMapper* mapper) override;
36
37protected:
39 ~vtkOpenGLSkybox() override;
40
43 float LastCameraPosition[3];
44
45 void UpdateUniforms(vtkObject*, unsigned long, void*);
46
50
51private:
52 vtkOpenGLSkybox(const vtkOpenGLSkybox&) = delete;
53 void operator=(const vtkOpenGLSkybox&) = delete;
54};
55
56VTK_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
Allocate and hold a VTK object.
Definition vtkNew.h:51
abstract base class for most VTK objects
Definition vtkObject.h:49
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:59
Renders a skybox environment.
Definition vtkSkybox.h:21