LumixEngine/src/renderer/shader_manager.h
Mikulas Florek 629c4da6bb audio WIP
2015-11-20 16:58:10 +01:00

46 lines
No EOL
982 B
C++

#pragma once
#include "core/resource_manager_base.h"
namespace Lumix
{
class Renderer;
class LUMIX_RENDERER_API ShaderBinaryManager : public ResourceManagerBase
{
public:
ShaderBinaryManager(Renderer& renderer, IAllocator& allocator);
~ShaderBinaryManager();
Renderer& getRenderer() { return m_renderer; }
protected:
Resource* createResource(const Path& path) override;
void destroyResource(Resource& resource) override;
private:
IAllocator& m_allocator;
Renderer& m_renderer;
};
class LUMIX_RENDERER_API ShaderManager : public ResourceManagerBase
{
public:
ShaderManager(Renderer& renderer, IAllocator& allocator);
~ShaderManager();
Renderer& getRenderer() { return m_renderer; }
uint8* getBuffer(int32 size);
protected:
Resource* createResource(const Path& path) override;
void destroyResource(Resource& resource) override;
private:
IAllocator& m_allocator;
uint8* m_buffer;
int32 m_buffer_size;
Renderer& m_renderer;
};
}