VTK  9.6.20260204
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
13
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;
27
28class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkOpenGLSkybox : public vtkSkybox
29{
30public:
34 vtkTypeMacro(vtkOpenGLSkybox, vtkSkybox);
35 void PrintSelf(ostream& os, vtkIndent indent) override;
36
40 void Render(vtkRenderer* ren, vtkMapper* mapper) override;
41
46 void SetMapper(vtkMapper* mapper) override;
47
48protected:
50 ~vtkOpenGLSkybox() override;
51
55
56 void UpdateUniforms(vtkObject*, unsigned long, void*);
57
61
62private:
63 vtkOpenGLSkybox(const vtkOpenGLSkybox&) = delete;
64 void operator=(const vtkOpenGLSkybox&) = delete;
65
66 vtkNew<vtkMatrix3x3> RotationMatrix;
67};
68
69#define vtkOpenGLSkybox_OVERRIDE_ATTRIBUTES vtkOpenGLSkybox::CreateOverrideAttributes()
70VTK_ABI_NAMESPACE_END
71#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.
vtkRenderer * CurrentRenderer
void SetMapper(vtkMapper *mapper) override
Installs an observer on the mapper UpdateShaderEvent that updates uniform values.
vtkNew< vtkOpenGLPolyDataMapper > CubeMapper
static vtkOverrideAttribute * CreateOverrideAttributes()
void UpdateUniforms(vtkObject *, unsigned long, void *)
static vtkOpenGLSkybox * New()
~vtkOpenGLSkybox() override
float LastCameraPosition[3]
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.
Attribute for vtkObjectFactory overrides.
abstract specification for renderers
#define VTK_MARSHALAUTO
#define VTK_NEWINSTANCE