gVirtualXRay
2.0.10
VirtualX-RayImagingLibraryonGPU
gvxr
include
gVirtualXRay
ResourceManager.h
Go to the documentation of this file.
1
#ifndef __ResourceManager_h
2
#define __ResourceManager_h
3
4
5
//******************************************************************************
6
// Include
7
//******************************************************************************
8
#include <vector>
9
10
#ifndef __Shader_h
11
#include <
gVirtualXRay/Shader.h
>
12
#endif
13
14
#ifndef __OpenGL2VBO_h
15
#include <
gVirtualXRay/OpenGL2VBO.h
>
16
#endif
17
18
#ifndef __OpenGL3VBO_h
19
#include <
gVirtualXRay/OpenGL3VBO.h
>
20
#endif
21
22
#ifndef __Context_h
23
#include <
gVirtualXRay/Context.h
>
24
#endif
25
26
27
//******************************************************************************
28
// namespace
29
//******************************************************************************
30
//using namespace gVirtualXRay;
31
32
33
class
FramebufferObject
;
34
35
36
//******************************************************************************
37
// Namespace
38
//******************************************************************************
39
namespace
gVirtualXRay
{
40
41
42
class
ResourceManager
43
{
44
public
:
45
static
ResourceManager
&
getInstance
()
46
{
47
static
ResourceManager
instance;
// Guaranteed to be destroyed.
48
// Instantiated on first use.
49
return
instance;
50
}
51
52
ResourceManager
(
ResourceManager
const
&) =
delete
;
53
void
operator=
(
ResourceManager
const
&) =
delete
;
54
55
void
releaseResources
();
56
57
void
addShader
(
Shader
* apShader);
58
void
addFBO
(
FramebufferObject
* apFBO);
59
void
addVBO
(
OpenGL2VBO
* apVBO);
60
void
addVBO
(
OpenGL3VBO
* apVBO);
61
62
void
destroyAndRemoveShader
(
Shader
* apShader);
63
void
destroyAndRemoveFBO
(
FramebufferObject
* apFBO);
64
void
destroyAndRemoveVBO
(
OpenGL2VBO
* apVBO);
65
void
destroyAndRemoveVBO
(
OpenGL3VBO
* apVBO);
66
67
void
setGraphicsContext
(
Context
* apContext);
68
Context
*
getGraphicsContext
();
69
void
destroyAndRemoveContext
();
70
71
private
:
72
ResourceManager
();
73
74
std::vector<Shader*> m_p_shader_set;
75
76
std::vector<FramebufferObject*> m_p_FBO_set;
77
78
std::vector<OpenGL2VBO*> m_p_gl2_vbo;
79
std::vector<OpenGL3VBO*> m_p_gl3_vbo;
80
81
Context
* m_p_context;
82
};
83
};
84
85
#endif
gVirtualXRay::OpenGL2VBO
OpenGL2VBO is a class to handle a vertex buffer object (VBO) in OpenGL 2.x.
Definition:
OpenGL2VBO.h:91
OpenGL3VBO.h
Class to handle vertex buffer objects (VBOs) in OpenGL 3.x or 4.x.
Shader.h
Class to handle GLSL shaders.
gVirtualXRay::OpenGL3VBO
OpenGL3VBO is a class to handle a vertex buffer object (VBO) in OpenGL 3.x or 4.x.
Definition:
OpenGL3VBO.h:92
gVirtualXRay::ResourceManager::releaseResources
void releaseResources()
gVirtualXRay::ResourceManager::addShader
void addShader(Shader *apShader)
gVirtualXRay::ResourceManager::getGraphicsContext
Context * getGraphicsContext()
gVirtualXRay::ResourceManager::addVBO
void addVBO(OpenGL2VBO *apVBO)
gVirtualXRay::ResourceManager::setGraphicsContext
void setGraphicsContext(Context *apContext)
gVirtualXRay::ResourceManager::operator=
void operator=(ResourceManager const &)=delete
gVirtualXRay::ResourceManager
Definition:
ResourceManager.h:42
gVirtualXRay::ResourceManager::destroyAndRemoveShader
void destroyAndRemoveShader(Shader *apShader)
FramebufferObject
Definition:
framebufferObject.h:107
gVirtualXRay::Shader
Shader is a class to handle shaders written in GLSL.
Definition:
Shader.h:87
gVirtualXRay
Definition:
AnatomicalMesh.h:73
gVirtualXRay::ResourceManager::destroyAndRemoveFBO
void destroyAndRemoveFBO(FramebufferObject *apFBO)
gVirtualXRay::Context
Context is a class to manage an OpenGL or Vulkan context.
Definition:
Context.h:111
gVirtualXRay::ResourceManager::destroyAndRemoveContext
void destroyAndRemoveContext()
gVirtualXRay::ResourceManager::destroyAndRemoveVBO
void destroyAndRemoveVBO(OpenGL2VBO *apVBO)
OpenGL2VBO.h
Class to handle vertex buffer objects (VBOs) in OpenGL 2.x.
Context.h
Create an OpenGL context using EGL or GLFW.
gVirtualXRay::ResourceManager::addFBO
void addFBO(FramebufferObject *apFBO)
gVirtualXRay::ResourceManager::getInstance
static ResourceManager & getInstance()
Definition:
ResourceManager.h:45
Generated on Thu Jul 17 2025 11:16:56 for gVirtualXRay by
1.8.14