VTK  9.5.20251012
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 "vtkMatrix3x3.h"
18#include "vtkNew.h" // for ivars
19#include "vtkRenderingOpenGL2Module.h" // For export macro
20#include "vtkSkybox.h"
21#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
22
23VTK_ABI_NAMESPACE_BEGIN
24class vtkOpenGLActor;
26
27class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkOpenGLSkybox : public vtkSkybox
28{
29public:
31 vtkTypeMacro(vtkOpenGLSkybox, vtkSkybox);
32 void PrintSelf(ostream& os, vtkIndent indent) override;
33
37 void Render(vtkRenderer* ren, vtkMapper* mapper) override;
38
43 void SetMapper(vtkMapper* mapper) override;
44
45protected:
47 ~vtkOpenGLSkybox() override;
48
51 float LastCameraPosition[3];
52
53 void UpdateUniforms(vtkObject*, unsigned long, void*);
54
58
59private:
60 vtkOpenGLSkybox(const vtkOpenGLSkybox&) = delete;
61 void operator=(const vtkOpenGLSkybox&) = delete;
62
63 vtkNew<vtkMatrix3x3> RotationMatrix;
64};
65
66VTK_ABI_NAMESPACE_END
67#endif
a simple class to control print indentation
Definition vtkIndent.h:108
abstract class specifies interface to map data to graphics primitives
Definition vtkMapper.h:98
Allocate and hold a VTK object.
Definition vtkNew.h:167
abstract base class for most VTK objects
Definition vtkObject.h:162
OpenGL actor.
PolyDataMapper using OpenGL to render.
OpenGL Skybox.
vtkRenderer * CurrentRenderer
void SetMapper(vtkMapper *mapper) override
Installs an observer on the mapper UpdateShaderEvent that updates uniform values.
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
Renders a skybox environment.
Definition vtkSkybox.h:131
#define VTK_MARSHALAUTO