mirror of
https://github.com/OpenMW/openmw.git
synced 2025-06-27 14:11:36 +00:00
Fix the global map overlay viewport (Bug #3018)
This commit is contained in:
parent
692a15a3df
commit
8b7bdcd127
2 changed files with 4 additions and 3 deletions
|
@ -251,6 +251,7 @@ namespace MWRender
|
||||||
camera->setProjectionMatrix(osg::Matrix::identity());
|
camera->setProjectionMatrix(osg::Matrix::identity());
|
||||||
camera->setProjectionResizePolicy(osg::Camera::FIXED);
|
camera->setProjectionResizePolicy(osg::Camera::FIXED);
|
||||||
camera->setRenderOrder(osg::Camera::PRE_RENDER);
|
camera->setRenderOrder(osg::Camera::PRE_RENDER);
|
||||||
|
y = mHeight - y - height; // convert top-left origin to bottom-left
|
||||||
camera->setViewport(x, y, width, height);
|
camera->setViewport(x, y, width, height);
|
||||||
|
|
||||||
if (clear)
|
if (clear)
|
||||||
|
@ -311,12 +312,12 @@ namespace MWRender
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int originX = (cellX - mMinX) * mCellSize;
|
int originX = (cellX - mMinX) * mCellSize;
|
||||||
int originY = (cellY - mMinY) * mCellSize;
|
int originY = (cellY - mMinY + 1) * mCellSize; // +1 because we want the top left corner of the cell, not the bottom left
|
||||||
|
|
||||||
if (cellX > mMaxX || cellX < mMinX || cellY > mMaxY || cellY < mMinY)
|
if (cellX > mMaxX || cellX < mMinX || cellY > mMaxY || cellY < mMinY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
requestOverlayTextureUpdate(originX, originY, mCellSize, mCellSize, localMapTexture, false, true);
|
requestOverlayTextureUpdate(originX, mHeight - originY, mCellSize, mCellSize, localMapTexture, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GlobalMap::clear()
|
void GlobalMap::clear()
|
||||||
|
|
|
@ -70,7 +70,7 @@ namespace MWRender
|
||||||
private:
|
private:
|
||||||
/**
|
/**
|
||||||
* Request rendering a 2d quad onto mOverlayTexture.
|
* Request rendering a 2d quad onto mOverlayTexture.
|
||||||
* x, y, width and height are the destination coordinates.
|
* x, y, width and height are the destination coordinates (top-left coordinate origin)
|
||||||
* @param cpuCopy copy the resulting render onto mOverlayImage as well?
|
* @param cpuCopy copy the resulting render onto mOverlayImage as well?
|
||||||
*/
|
*/
|
||||||
void requestOverlayTextureUpdate(int x, int y, int width, int height, osg::ref_ptr<osg::Texture2D> texture, bool clear, bool cpuCopy,
|
void requestOverlayTextureUpdate(int x, int y, int width, int height, osg::ref_ptr<osg::Texture2D> texture, bool clear, bool cpuCopy,
|
||||||
|
|
Loading…
Reference in a new issue