globjects  2.0.0.630135941c42
Strict OpenGL objects wrapper.
Loading...
Searching...
No Matches
Resource.h
Go to the documentation of this file.
1
2#pragma once
3
4
5#include <glbinding/gl/types.h>
6
7#include <globjects/globjects_api.h>
8
9
10namespace globjects
11{
12
13
14class GLOBJECTS_API AbstractResource
15{
16public:
17 AbstractResource(bool hasOwnership);
19
20 bool hasOwnership() const;
21 virtual bool isExternal() const = 0;
22
23
24protected:
26};
27
28
29class GLOBJECTS_API IDTrait
30{
31public:
32 IDTrait(gl::GLuint id);
33 virtual ~IDTrait();
34
35 gl::GLuint id() const;
36
37
38protected:
39 gl::GLuint m_id;
40};
41
42
43class GLOBJECTS_API IDResource : public AbstractResource, public IDTrait
44{
45public:
46 IDResource(gl::GLuint id);
47
48 virtual bool isExternal() const override;
49
50
51protected:
52 IDResource(gl::GLuint id, bool hasOwnership);
53};
54
55
56class GLOBJECTS_API ExternalResource : public IDResource
57{
58public:
59 ExternalResource(gl::GLuint id);
60
61 virtual bool isExternal() const override;
62};
63
64
65class GLOBJECTS_API InvalidResource : public IDResource
66{
67public:
70};
71
72
73class GLOBJECTS_API BufferResource : public IDResource
74{
75public:
78};
79
80
87
88
89class GLOBJECTS_API ProgramResource : public IDResource
90{
91public:
94};
95
96
103
104
105class GLOBJECTS_API QueryResource : public IDResource
106{
107public:
110};
111
112
119
120
121class GLOBJECTS_API SamplerResource : public IDResource
122{
123public:
126};
127
128
129class GLOBJECTS_API ShaderResource : public IDResource
130{
131public:
132 ShaderResource(gl::GLenum type);
134};
135
136
137class GLOBJECTS_API TextureResource : public IDResource
138{
139public:
140 TextureResource(gl::GLenum target);
142};
143
144
151
152
159
160
161} // namespace globjects
Definition Resource.h:15
AbstractResource(bool hasOwnership)
bool m_hasOwnership
Definition Resource.h:25
virtual bool isExternal() const =0
Definition Resource.h:74
Definition Resource.h:57
virtual bool isExternal() const override
ExternalResource(gl::GLuint id)
Definition Resource.h:82
Definition Resource.h:44
IDResource(gl::GLuint id, bool hasOwnership)
IDResource(gl::GLuint id)
virtual bool isExternal() const override
Definition Resource.h:30
gl::GLuint id() const
gl::GLuint m_id
Definition Resource.h:39
IDTrait(gl::GLuint id)
Definition Resource.h:66
Definition Resource.h:98
Definition Resource.h:90
Definition Resource.h:106
Definition Resource.h:114
Definition Resource.h:122
Definition Resource.h:130
ShaderResource(gl::GLenum type)
Definition Resource.h:138
TextureResource(gl::GLenum target)
Definition Resource.h:146
Definition Resource.h:154
Contains all the classes that wrap OpenGL functionality.