1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00
GLideN64/src/Graphics/Context.cpp
Sergey Lipskiy 07fae53ed4 Code cleanup
2017-01-09 19:36:53 +07:00

126 lines
2.4 KiB
C++

#include "Context.h"
#include "OpenGLContext/opengl_ContextImpl.h"
using namespace graphics;
Context gfxContext;
Context::Context() {}
Context::~Context() {
m_impl.reset();
}
void Context::init()
{
m_impl.reset(new opengl::ContextImpl);
m_impl->init();
}
void Context::destroy()
{
m_impl->destroy();
m_impl.reset();
}
ObjectHandle Context::createTexture(Parameter _target)
{
return m_impl->createTexture(_target);
}
void Context::deleteTexture(ObjectHandle _name)
{
m_impl->deleteTexture(_name);
}
void Context::init2DTexture(const InitTextureParams & _params)
{
m_impl->init2DTexture(_params);
}
void Context::update2DTexture(const UpdateTextureDataParams & _params)
{
m_impl->update2DTexture(_params);
}
void Context::setTextureParameters(const TexParameters & _parameters)
{
m_impl->setTextureParameters(_parameters);
}
ObjectHandle Context::createFramebuffer()
{
return m_impl->createFramebuffer();
}
void Context::deleteFramebuffer(ObjectHandle _name)
{
m_impl->deleteFramebuffer(_name);
}
ObjectHandle Context::createRenderbuffer()
{
return m_impl->createRenderbuffer();
}
void Context::initRenderbuffer(const InitRenderbufferParams & _params)
{
m_impl->initRenderbuffer(_params);
}
void Context::addFrameBufferRenderTarget(const FrameBufferRenderTarget & _params)
{
m_impl->addFrameBufferRenderTarget(_params);
}
PixelWriteBuffer * Context::createPixelWriteBuffer(size_t _sizeInBytes)
{
return m_impl->createPixelWriteBuffer(_sizeInBytes);
}
CombinerProgram * Context::createCombinerProgram(Combiner & _color, Combiner & _alpha, const CombinerKey & _key)
{
return m_impl->createCombinerProgram(_color, _alpha, _key);
}
bool Context::saveShadersStorage(const Combiners & _combiners)
{
return m_impl->saveShadersStorage(_combiners);
}
bool Context::loadShadersStorage(Combiners & _combiners)
{
return m_impl->loadShadersStorage(_combiners);
}
ShaderProgram * Context::createDepthFogShader()
{
return m_impl->createDepthFogShader();
}
ShaderProgram * Context::createMonochromeShader()
{
return m_impl->createMonochromeShader();
}
TexDrawerShaderProgram * Context::createTexDrawerDrawShader()
{
return m_impl->createTexDrawerDrawShader();
}
ShaderProgram * Context::createTexDrawerClearShader()
{
return m_impl->createTexDrawerClearShader();
}
ShaderProgram * Context::createTexrectCopyShader()
{
return m_impl->createTexrectCopyShader();
}
bool Context::isMultisamplingSupported() const
{
// TODO
return true;
}