diff options
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/view/inc/GL3DRenderer.hxx | 1 | ||||
-rw-r--r-- | chart2/source/view/main/3DChartObjects.cxx | 6 | ||||
-rw-r--r-- | chart2/source/view/main/GL3DRenderer.cxx | 41 |
3 files changed, 40 insertions, 8 deletions
diff --git a/chart2/source/view/inc/GL3DRenderer.hxx b/chart2/source/view/inc/GL3DRenderer.hxx index 20fbca98f152..a0036ed45234 100644 --- a/chart2/source/view/inc/GL3DRenderer.hxx +++ b/chart2/source/view/inc/GL3DRenderer.hxx @@ -190,6 +190,7 @@ public: private: void MoveModelf(PosVecf3& trans,PosVecf3& angle,PosVecf3& scale); + void ClearBuffer(); void RenderPolygon3DObject(); void RenderLine3D(Polygon3DInfo &polygon); void RenderPolygon3D(Polygon3DInfo &polygon); diff --git a/chart2/source/view/main/3DChartObjects.cxx b/chart2/source/view/main/3DChartObjects.cxx index 257319149e5d..1cf0b4920994 100644 --- a/chart2/source/view/main/3DChartObjects.cxx +++ b/chart2/source/view/main/3DChartObjects.cxx @@ -77,7 +77,11 @@ const TextCacheItem& TextCache::getText(OUString const & rText) VirtualDevice aDevice(*Application::GetDefaultDevice(), 0, 0); Font aFont = aDevice.GetFont(); aFont.SetSize(Size(0, 96)); - aFont.SetColor(COL_BLACK); + static bool bOldRender = getenv("OLDRENDER"); + if (bOldRender) + aFont.SetColor(COL_BLACK); + else + aFont.SetColor(COL_GREEN); // RGB_COLORDATA(0xf0, 0xf0, 0xf0)); aDevice.SetFont(aFont); aDevice.Erase(); diff --git a/chart2/source/view/main/GL3DRenderer.cxx b/chart2/source/view/main/GL3DRenderer.cxx index aded984a43f8..af5238b2e99b 100644 --- a/chart2/source/view/main/GL3DRenderer.cxx +++ b/chart2/source/view/main/GL3DRenderer.cxx @@ -253,10 +253,7 @@ void OpenGL3DRenderer::init() glEnable(GL_MULTISAMPLE); - glClearColor (1.0, 1.0, 1.0, 1.0); - glClear(GL_COLOR_BUFFER_BIT); - glClearDepth(1.0f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + ClearBuffer(); glGenBuffers(1, &m_CubeVertexBuf); glGenBuffers(1, &m_CubeNormalBuf); @@ -1693,12 +1690,42 @@ void OpenGL3DRenderer::CreateSceneBoxView() m_CameraInfo.cameraUp); } +void OpenGL3DRenderer::ClearBuffer() +{ + static bool bOldRender = getenv("OLDRENDER"); + if (!bOldRender) // gradient background + { + glDisable(GL_DEPTH_TEST); + glDisable(GL_LIGHTING); + + glClearDepth(1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glBegin (GL_QUADS); + glColor3f(0.3,0.3,0.3); + glVertex3f (-1.0f, -1.0f, -1.0f); + glVertex3f (1.0f, -1.0f, -1.0f); + + glColor3f(0.0,0.0,0.0); + glVertex3f (1.0f, 1.0f, -1.0f); + glVertex3f (-1.0f, 1.0f, -1.0f); + glEnd (); + + glEnable(GL_LIGHTING); + glEnable(GL_DEPTH_TEST); + } + else + { + glClearDepth(1.0f); + glClearColor (1.0, 0.5, 0.5, 1.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + } +} + void OpenGL3DRenderer::ProcessUnrenderedShape(bool bNewScene) { glViewport(0, 0, m_iWidth, m_iHeight); - glClearDepth(1.0f); - glClearColor(1.0, 1.0, 1.0, 1.0); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + ClearBuffer(); CreateSceneBoxView(); //Polygon RenderPolygon3DObject(); |