Ocean
platform/gl/WindowFramebuffer.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_PLATFORM_GL_WINDOW_FRAMEBUFFER_H
9 #define META_OCEAN_PLATFORM_GL_WINDOW_FRAMEBUFFER_H
10 
11 #include "ocean/platform/gl/GL.h"
13 
14 namespace Ocean
15 {
16 
17 namespace Platform
18 {
19 
20 namespace GL
21 {
22 
23 /**
24  * This class implements a framebuffer allowing to render into a window.
25  * @ingroup platformgl
26  */
27 class OCEAN_PLATFORM_GL_EXPORT WindowFramebuffer : public Framebuffer
28 {
29  public:
30 
31  /**
32  * Creates a new framebuffer object with initially no associated context.
33  */
35 
36  /**
37  * Creates a new framebuffer object with a given associated context.
38  * @param context The associated context
39  */
40  explicit WindowFramebuffer(Context& context);
41 
42  /**
43  * Binds the framebuffer as target framebuffer.
44  * @see Framebuffer::bind().
45  */
46  virtual bool bind();
47 
48  /**
49  * Unbinds the framebuffer as target framebuffer.
50  * @see Framebuffer::unbind().
51  */
52  virtual bool unbind();
53 };
54 
55 }
56 
57 }
58 
59 }
60 
61 #endif // META_OCEAN_PLATFORM_GL_WINDOW_FRAMEBUFFER_H
This class encapsulates an OpenGL context.
Definition: platform/gl/Context.h:29
This class implements the base class for an OpenGL framebuffers.
Definition: platform/gl/Framebuffer.h:30
This class implements a framebuffer allowing to render into a window.
Definition: platform/gl/WindowFramebuffer.h:28
WindowFramebuffer()
Creates a new framebuffer object with initially no associated context.
virtual bool bind()
Binds the framebuffer as target framebuffer.
WindowFramebuffer(Context &context)
Creates a new framebuffer object with a given associated context.
virtual bool unbind()
Unbinds the framebuffer as target framebuffer.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15