Ocean
Loading...
Searching...
No Matches
GLESStereoAttribute.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#ifndef META_OCEAN_RENDERING_GLES_STEREO_ATTRIBUTE_H
9#define META_OCEAN_RENDERING_GLES_STEREO_ATTRIBUTE_H
10
13
15
16namespace Ocean
17{
18
19namespace Rendering
20{
21
22namespace GLESceneGraph
23{
24
25/**
26 * This class implements a GLESceneGraph stereo attribute.
27 * @ingroup renderinggles
28 */
29class OCEAN_RENDERING_GLES_EXPORT GLESStereoAttribute :
30 virtual public GLESAttribute,
31 virtual public StereoAttribute
32{
33 friend class GLESFactory;
34
35 public:
36
37 /**
38 * Returns the stereo visibility property.
39 * @see StereoAttribute::stereoVisibility().
40 */
42
43 /**
44 * Sets the stereo visibility property.
45 * @see StereoAttribute::setStereoVisibility().
46 */
47 void setStereoVisibility(const StereoVisibility stereoVisibility) override;
48
49 /**
50 * Binds this attribute.
51 * @see GLESAttribute::bindAttribute().
52 */
53 void bindAttribute(const GLESFramebuffer& framebuffer, GLESShaderProgram& shaderProgram) override;
54
55 /**
56 * Unbindes this attribute.
57 * @see GLESAttribute::unbindAttribute().
58 */
59 void unbindAttribute() override;
60
61 protected:
62
63 /**
64 * Creates a new GLESceneGraph stereo attribute.
65 */
67
68 /**
69 * Destructs a GLESceneGraph stereo attribute.
70 */
72
73 protected:
74
75 /// The stereo visibility property of this attribute.
77
78 /// The previous cull face value, will be used to restore the previous state when unbinding.
80
81 /// The previous cull face mode, will be used to restore the previous state when unbinding.
83};
84
85}
86
87}
88
89}
90
91#endif // META_OCEAN_RENDERING_GLES_STEREO_ATTRIBUTE_H
This class wraps a GLESceneGraph attribute object.
Definition GLESAttribute.h:36
This class implements a class factory for all GLESceneGraph objects.
Definition GLESFactory.h:30
This class implements a base for all GLESceneGraph framebuffers.
Definition rendering/glescenegraph/GLESFramebuffer.h:34
This class implements a container for an OpenGL ES shader program.
Definition GLESShaderProgram.h:53
This class implements a GLESceneGraph stereo attribute.
Definition GLESStereoAttribute.h:32
StereoVisibility stereoVisibility() const override
Returns the stereo visibility property.
GLboolean previousCullFaceValue_
The previous cull face value, will be used to restore the previous state when unbinding.
Definition GLESStereoAttribute.h:79
~GLESStereoAttribute() override
Destructs a GLESceneGraph stereo attribute.
void unbindAttribute() override
Unbindes this attribute.
void bindAttribute(const GLESFramebuffer &framebuffer, GLESShaderProgram &shaderProgram) override
Binds this attribute.
GLESStereoAttribute()
Creates a new GLESceneGraph stereo attribute.
GLint previousCullFaceMode_
The previous cull face mode, will be used to restore the previous state when unbinding.
Definition GLESStereoAttribute.h:82
void setStereoVisibility(const StereoVisibility stereoVisibility) override
Sets the stereo visibility property.
StereoVisibility stereoVisibility_
The stereo visibility property of this attribute.
Definition GLESStereoAttribute.h:76
This class implements a stereo attribute specifying the stereo behavior for associated objects.
Definition StereoAttribute.h:35
StereoVisibility
Definition of different stereo visibilities.
Definition StereoAttribute.h:42
The namespace covering the entire Ocean framework.
Definition Accessor.h:15