summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-01-01 22:38:26 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-01-29 08:09:27 +0100
commit266438ce62748f5af53dfcdcae3c38da22a15578 (patch)
tree81d07a3303079abe8bbef606c6744e7377a1fb53 /chart2
parent1d7ffd16592580419be2e63d812fce081a7191d1 (diff)
one more change to the rendering
Change-Id: I36ba16e8ccb8782c9fd85d7cf772d74ffab5a7f7
Diffstat (limited to 'chart2')
-rwxr-xr-xchart2/source/view/main/OpenGLRender.cxx49
1 files changed, 24 insertions, 25 deletions
diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx
index 3688df9d3f8d..380fa7d6bfa8 100755
--- 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,28 @@ void OpenGLRender::prepareToRender()
void OpenGLRender::renderToBitmap()
{
+ if (m_iArbMultisampleSupported)
+ {
+ GLenum status;
+ 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;
+ }
+ 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;
+ }
+ 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);
@@ -1146,7 +1168,6 @@ int OpenGLRender::Bubble2DShapePoint(float x, float y, float directionX, float d
int OpenGLRender::RenderBubble2FBO(int)
{
- GLenum status;
int listNum = m_Bubble2DShapePointList.size();
for (int i = 0; i < listNum; i++)
{
@@ -1193,28 +1214,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;
}