Removed sprite RenderQueue and moved FrameBuffer to rendering instead of rendering/util
This commit is contained in:
@@ -1,64 +0,0 @@
|
||||
#ifndef FrameBuffer_h__
|
||||
#define FrameBuffer_h__
|
||||
|
||||
#include "OpenGL.h"
|
||||
#include "GLError.h"
|
||||
|
||||
class BufferResource
|
||||
{
|
||||
public:
|
||||
BufferResource(GLuint* resourceHandle, GLenum resourceType, GLenum attachment);
|
||||
|
||||
GLuint* m_ResourceHandle;
|
||||
GLenum m_ResourceType;
|
||||
GLenum m_Attachment;
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
template <GLenum RESOURCETYPE>
|
||||
class ResourceType : public BufferResource
|
||||
{
|
||||
public:
|
||||
ResourceType(GLuint* resourceHandle, GLenum attachment)
|
||||
: BufferResource(resourceHandle, RESOURCETYPE, attachment) { }
|
||||
};
|
||||
|
||||
class Texture2D : public ResourceType<GL_TEXTURE_2D>
|
||||
{
|
||||
public:
|
||||
Texture2D(GLuint* resourceHandle, GLenum attachment)
|
||||
: ResourceType(resourceHandle, attachment) { };
|
||||
|
||||
~Texture2D();
|
||||
};
|
||||
|
||||
class RenderBuffer : public ResourceType<GL_RENDERBUFFER>
|
||||
{
|
||||
public:
|
||||
RenderBuffer(GLuint* resourceHandle, GLenum attachment)
|
||||
: ResourceType(resourceHandle, attachment)
|
||||
{ };
|
||||
|
||||
~RenderBuffer();
|
||||
};
|
||||
|
||||
class FrameBuffer
|
||||
{
|
||||
public:
|
||||
FrameBuffer()
|
||||
: m_BufferHandle(0) { }
|
||||
~FrameBuffer();
|
||||
|
||||
void AddResource(std::shared_ptr<BufferResource> resource);
|
||||
void Generate();
|
||||
void Bind();
|
||||
void Unbind();
|
||||
GLuint GetHandle();
|
||||
|
||||
private:
|
||||
GLuint m_BufferHandle;
|
||||
std::vector<std::shared_ptr<BufferResource>> m_Resources;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "../../OpenGL.h"
|
||||
#include "../../GLM.h"
|
||||
#include "../../Core/Util/Rectangle.h"
|
||||
#include "FrameBuffer.h"
|
||||
#include "../FrameBuffer.h"
|
||||
|
||||
class ScreenCoords
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user