VTK  9.4.20250113
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#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
21
22VTK_ABI_NAMESPACE_BEGIN
23class vtkOpenGLActor;
25
26class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkOpenGLSkybox : public vtkSkybox
27{
28public:
30 vtkTypeMacro(vtkOpenGLSkybox, vtkSkybox);
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
36 void Render(vtkRenderer* ren, vtkMapper* mapper) override;
37
42 void SetMapper(vtkMapper* mapper) override;
43
44protected:
46 ~vtkOpenGLSkybox() override;
47
50 float LastCameraPosition[3];
51
52 void UpdateUniforms(vtkObject*, unsigned long, void*);
53
57
58private:
59 vtkOpenGLSkybox(const vtkOpenGLSkybox&) = delete;
60 void operator=(const vtkOpenGLSkybox&) = delete;
61};
62
63VTK_ABI_NAMESPACE_END
64#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:97
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