[Libreoffice-commits] core.git: Branch 'private/moggi/fix-opengl-backend' - chart2/source
Markus Mohrhard
markus.mohrhard at googlemail.com
Wed Jan 1 11:40:09 PST 2014
chart2/source/view/main/OpenGLRender.cxx | 49 +++++++++++++++----------------
1 file changed, 25 insertions(+), 24 deletions(-)
New commits:
commit 310ffb8582e37f57dd1990877312da23f2bc8c28
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Wed Jan 1 22:38:26 2014 +0100
temp
Change-Id: I36ba16e8ccb8782c9fd85d7cf772d74ffab5a7f7
diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx
index b630ec9..fe16400 100644
--- a/chart2/source/view/main/OpenGLRender.cxx
+++ b/chart2/source/view/main/OpenGLRender.cxx
@@ -25,6 +25,8 @@ using namespace com::sun::star;
using namespace std;
+#define RENDER_TO_FILE 0
+
#define OPENGL_SHADER( ... )# __VA_ARGS__
#define GL_PI 3.14159f
@@ -34,8 +36,6 @@ using namespace std;
#define WGL_SAMPLES_ARB 0x2042
#endif
-#define RENDER_TO_FILE 0
-
const char *ColorFragmemtShader = OPENGL_SHADER (
varying vec3 fragmentColor;
@@ -532,6 +532,29 @@ void OpenGLRender::prepareToRender()
void OpenGLRender::renderToBitmap()
{
+ if (m_iArbMultisampleSupported)
+ {
+ glBindFramebuffer(GL_FRAMEBUFFER, 0);
+ glBindFramebuffer(GL_READ_FRAMEBUFFER, m_frameBufferMS);
+ status = glCheckFramebufferStatus(GL_READ_FRAMEBUFFER);
+ if (status != GL_FRAMEBUFFER_COMPLETE)
+ {
+ cout << "The frame buffer status is not complete!" << endl;
+ return -1;
+ }
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_FboID[m_iFboIdx % 2]);
+ status = glCheckFramebufferStatus(GL_DRAW_FRAMEBUFFER);
+ if (status != GL_FRAMEBUFFER_COMPLETE)
+ {
+ cout << "The frame buffer status is not complete!" << endl;
+ return -1;
+ }
+ glBlitFramebuffer(0, 0 ,m_iWidth, m_iHeight, 0, 0,m_iWidth ,m_iHeight, GL_COLOR_BUFFER_BIT, GL_LINEAR);
+ glBindFramebuffer(GL_READ_FRAMEBUFFER,0);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER,0);
+ glBindFramebuffer(GL_FRAMEBUFFER, m_FboID[m_iFboIdx % 2]);
+ }
+
#if RENDER_TO_FILE
char fileName[256] = {0};
sprintf(fileName, "D:\\shaderout_%d_%d_%d.bmp", m_iWidth, m_iHeight, m_iFboIdx);
@@ -1193,28 +1216,6 @@ int OpenGLRender::RenderBubble2FBO(int)
{
return -1;
}
- if (m_iArbMultisampleSupported)
- {
- glBindFramebuffer(GL_FRAMEBUFFER, 0);
- glBindFramebuffer(GL_READ_FRAMEBUFFER, m_frameBufferMS);
- status = glCheckFramebufferStatus(GL_READ_FRAMEBUFFER);
- if (status != GL_FRAMEBUFFER_COMPLETE)
- {
- cout << "The frame buffer status is not complete!" << endl;
- return -1;
- }
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_FboID[m_iFboIdx % 2]);
- status = glCheckFramebufferStatus(GL_DRAW_FRAMEBUFFER);
- if (status != GL_FRAMEBUFFER_COMPLETE)
- {
- cout << "The frame buffer status is not complete!" << endl;
- return -1;
- }
- glBlitFramebuffer(0, 0 ,m_iWidth, m_iHeight, 0, 0,m_iWidth ,m_iHeight, GL_COLOR_BUFFER_BIT, GL_LINEAR);
- glBindFramebuffer(GL_READ_FRAMEBUFFER,0);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER,0);
- glBindFramebuffer(GL_FRAMEBUFFER, m_FboID[m_iFboIdx % 2]);
- }
return 0;
}
More information about the Libreoffice-commits
mailing list