diff options
author | tfarley <tfarleygithub@gmail.com> | 2015-05-18 21:21:33 -0700 |
---|---|---|
committer | tfarley <tfarleygithub@gmail.com> | 2015-05-22 15:51:18 -0700 |
commit | 05dc633a8c35221ce8d6abe6ddf027f8b0bab6c2 (patch) | |
tree | d080c1efd3b928bda551cb9eee304547e66a4351 /src/video_core/renderer_opengl/gl_resource_manager.h | |
parent | 6d995b1ff654483f830b6c285629545263393d7e (diff) |
OpenGL renderer
Diffstat (limited to 'src/video_core/renderer_opengl/gl_resource_manager.h')
-rw-r--r-- | src/video_core/renderer_opengl/gl_resource_manager.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_resource_manager.h b/src/video_core/renderer_opengl/gl_resource_manager.h new file mode 100644 index 00000000..975720d0 --- /dev/null +++ b/src/video_core/renderer_opengl/gl_resource_manager.h @@ -0,0 +1,79 @@ +// Copyright 2015 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" + +#include "generated/gl_3_2_core.h" + +class OGLTexture : public NonCopyable { +public: + OGLTexture(); + ~OGLTexture(); + + /// Creates a new internal OpenGL resource and stores the handle + void Create(); + + /// Deletes the internal OpenGL resource + void Release(); + + GLuint handle; +}; + +class OGLShader : public NonCopyable { +public: + OGLShader(); + ~OGLShader(); + + /// Creates a new internal OpenGL resource and stores the handle + void Create(const char* vert_shader, const char* frag_shader); + + /// Deletes the internal OpenGL resource + void Release(); + + GLuint handle; +}; + +class OGLBuffer : public NonCopyable { +public: + OGLBuffer(); + ~OGLBuffer(); + + /// Creates a new internal OpenGL resource and stores the handle + void Create(); + + /// Deletes the internal OpenGL resource + void Release(); + + GLuint handle; +}; + +class OGLVertexArray : public NonCopyable { +public: + OGLVertexArray(); + ~OGLVertexArray(); + + /// Creates a new internal OpenGL resource and stores the handle + void Create(); + + /// Deletes the internal OpenGL resource + void Release(); + + GLuint handle; +}; + +class OGLFramebuffer : public NonCopyable { +public: + OGLFramebuffer(); + ~OGLFramebuffer(); + + /// Creates a new internal OpenGL resource and stores the handle + void Create(); + + /// Deletes the internal OpenGL resource + void Release(); + + GLuint handle; +}; |