#include "hwRendererHelperGL.h"
#include "hwApiTextureTestStrings.h"
#include <maya/MTextureManager.h>
#include <maya/MRenderTargetManager.h>
#include <maya/MHardwareRenderer.h>
#ifdef MAYA_PLUGIN_USES_GLEW
#if defined(__APPLE__)
#include <GL/glew.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#elif defined(__linux__) || defined(__linux__)
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glu.h>
#elif defined(_WIN32)
#include <GL/glew.h>
#include <gl/Gl.h>
#include <gl/Glu.h>
#else
#error Unknown OS
#endif
: hwRendererHelper(renderer)
{
}
hwRendererHelperGL::~hwRendererHelperGL()
{
}
{
if (texture == NULL || target == NULL)
return false;
if (pTextureId == NULL || pTargetId == NULL)
return false;
return false;
GLint srcX0 = 0;
GLint srcX1 = textureDesc.
fWidth;
GLint srcY1 = 0;
GLint dstX0 = 0;
GLint dstY0 = 0;
GLint dstX1 = targetDesc.
width();
GLint dstY1 = targetDesc.
height();
GLuint framebuffers[2] = {0, 0};
glGenFramebuffersEXT(2, framebuffers);
if (framebuffers[0] == 0 || framebuffers[1] == 0)
return false;
glBindFramebufferEXT(GL_READ_FRAMEBUFFER, framebuffers[0]);
glFramebufferTexture2DEXT(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, *pTextureId, 0);
glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER, framebuffers[1]);
glFramebufferTexture2DEXT(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, *pTargetId, 0);
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, GL_COLOR_BUFFER_BIT, GL_LINEAR);
glBindFramebufferEXT(GL_FRAMEBUFFER, 0);
glDeleteFramebuffersEXT(2, framebuffers);
return true;
}
#endif