Ocean
GIBitmapFramebuffer.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_GI_BITMAP_FRAMEBUFFER_H
9 #define META_OCEAN_RENDERING_GI_BITMAP_FRAMEBUFFER_H
10 
13 
15 
16 namespace Ocean
17 {
18 
19 namespace Rendering
20 {
21 
22 namespace GlobalIllumination
23 {
24 
25 /**
26  * This class is the base class for all GlobalIllumination bitmap framebuffers.
27  * @ingroup renderinggi
28  */
29 class OCEAN_RENDERING_GI_EXPORT GIBitmapFramebuffer :
30  virtual public GIFramebuffer,
31  virtual public BitmapFramebuffer
32 {
33  friend class GIEngine;
34 
35  public:
36 
37  /**
38  * Initializes the framebuffer.
39  * @see Framebuffer::initialize().
40  */
41  bool initialize(const FramebufferRef& shareFramebuffer = FramebufferRef()) override;
42 
43  protected:
44 
45  /**
46  * Creates a new bitmap frambuffer.
47  * @param preferredGraphicAPI Preferred graphic API to be used for this framebuffer
48  */
49  GIBitmapFramebuffer(const Engine::GraphicAPI preferredGraphicAPI);
50 
51  /**
52  * Destructs a bitmap framebuffer.
53  */
55 };
56 
57 }
58 
59 }
60 
61 }
62 
63 #endif // META_OCEAN_RENDERING_GI_BITMAP_FRAMEBUFFER_H
This class is the base class for all bitmap framebuffers.
Definition: BitmapFramebuffer.h:37
GraphicAPI
Definition of different graphic APIs.
Definition: Engine.h:57
This class is the base class for all GlobalIllumination bitmap framebuffers.
Definition: GIBitmapFramebuffer.h:32
~GIBitmapFramebuffer() override
Destructs a bitmap framebuffer.
GIBitmapFramebuffer(const Engine::GraphicAPI preferredGraphicAPI)
Creates a new bitmap frambuffer.
bool initialize(const FramebufferRef &shareFramebuffer=FramebufferRef()) override
Initializes the framebuffer.
Global Illumination engine class.
Definition: GIEngine.h:32
This class implements a base for all Global Illumination framebuffers.
Definition: GIFramebuffer.h:39
SmartObjectRef< Framebuffer > FramebufferRef
Definition of a smart object reference holding a framebuffer.
Definition: rendering/Framebuffer.h:31
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15