Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-10-27 01:33:43 +0300
committerCampbell Barton <ideasman42@gmail.com>2009-10-27 01:33:43 +0300
commit839ac92f651d456db40ffaebefab87172fdeedba (patch)
tree0846e137ab735bca2cb36811efc9e549a1c3ccc3 /source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
parent5d333f72c399443205b1b5fa26ccc12b2c31e62d (diff)
added SetDisplayArea, GetDisplayArea was used in a confusing way
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp')
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp46
1 files changed, 26 insertions, 20 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index d16348defb2..5b732e802f6 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -386,6 +386,7 @@ void RAS_OpenGLRasterizer::EndFrame()
void RAS_OpenGLRasterizer::SetRenderArea()
{
+ RAS_Rect area;
// only above/below stereo method needs viewport adjustment
switch (m_stereomode)
{
@@ -394,19 +395,21 @@ void RAS_OpenGLRasterizer::SetRenderArea()
{
case RAS_STEREO_LEFTEYE:
// upper half of window
- m_2DCanvas->GetDisplayArea().SetLeft(0);
- m_2DCanvas->GetDisplayArea().SetBottom(m_2DCanvas->GetHeight() -
+ area.SetLeft(0);
+ area.SetBottom(m_2DCanvas->GetHeight() -
int(m_2DCanvas->GetHeight() - m_noOfScanlines) / 2);
- m_2DCanvas->GetDisplayArea().SetRight(int(m_2DCanvas->GetWidth()));
- m_2DCanvas->GetDisplayArea().SetTop(int(m_2DCanvas->GetHeight()));
+ area.SetRight(int(m_2DCanvas->GetWidth()));
+ area.SetTop(int(m_2DCanvas->GetHeight()));
+ m_2DCanvas->SetDisplayArea(&area);
break;
case RAS_STEREO_RIGHTEYE:
// lower half of window
- m_2DCanvas->GetDisplayArea().SetLeft(0);
- m_2DCanvas->GetDisplayArea().SetBottom(0);
- m_2DCanvas->GetDisplayArea().SetRight(int(m_2DCanvas->GetWidth()));
- m_2DCanvas->GetDisplayArea().SetTop(int(m_2DCanvas->GetHeight() - m_noOfScanlines) / 2);
+ area.SetLeft(0);
+ area.SetBottom(0);
+ area.SetRight(int(m_2DCanvas->GetWidth()));
+ area.SetTop(int(m_2DCanvas->GetHeight() - m_noOfScanlines) / 2);
+ m_2DCanvas->SetDisplayArea(&area);
break;
}
break;
@@ -415,26 +418,29 @@ void RAS_OpenGLRasterizer::SetRenderArea()
{
case RAS_STEREO_LEFTEYE:
// Left half of window
- m_2DCanvas->GetDisplayArea().SetLeft(0);
- m_2DCanvas->GetDisplayArea().SetBottom(0);
- m_2DCanvas->GetDisplayArea().SetRight(m_2DCanvas->GetWidth()/2);
- m_2DCanvas->GetDisplayArea().SetTop(m_2DCanvas->GetHeight());
+ area.SetLeft(0);
+ area.SetBottom(0);
+ area.SetRight(m_2DCanvas->GetWidth()/2);
+ area.SetTop(m_2DCanvas->GetHeight());
+ m_2DCanvas->SetDisplayArea(&area);
break;
case RAS_STEREO_RIGHTEYE:
// Right half of window
- m_2DCanvas->GetDisplayArea().SetLeft(m_2DCanvas->GetWidth()/2);
- m_2DCanvas->GetDisplayArea().SetBottom(0);
- m_2DCanvas->GetDisplayArea().SetRight(m_2DCanvas->GetWidth());
- m_2DCanvas->GetDisplayArea().SetTop(m_2DCanvas->GetHeight());
+ area.SetLeft(m_2DCanvas->GetWidth()/2);
+ area.SetBottom(0);
+ area.SetRight(m_2DCanvas->GetWidth());
+ area.SetTop(m_2DCanvas->GetHeight());
+ m_2DCanvas->SetDisplayArea(&area);
break;
}
break;
default:
// every available pixel
- m_2DCanvas->GetDisplayArea().SetLeft(0);
- m_2DCanvas->GetDisplayArea().SetBottom(0);
- m_2DCanvas->GetDisplayArea().SetRight(int(m_2DCanvas->GetWidth()));
- m_2DCanvas->GetDisplayArea().SetTop(int(m_2DCanvas->GetHeight()));
+ area.SetLeft(0);
+ area.SetBottom(0);
+ area.SetRight(int(m_2DCanvas->GetWidth()));
+ area.SetTop(int(m_2DCanvas->GetHeight()));
+ m_2DCanvas->SetDisplayArea(&area);
break;
}
}