mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-13 21:40:11 +00:00
Do not create a depth buffer for the global map 2d rendering
This commit is contained in:
parent
8e3bc981a2
commit
b840c68f0c
@ -266,6 +266,9 @@ namespace MWRender
|
||||
camera->setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT, osg::Camera::PIXEL_BUFFER_RTT);
|
||||
camera->attach(osg::Camera::COLOR_BUFFER, mOverlayTexture);
|
||||
|
||||
// no need for a depth buffer
|
||||
camera->setImplicitBufferAttachmentMask(osg::DisplaySettings::IMPLICIT_COLOR_BUFFER_ATTACHMENT);
|
||||
|
||||
if (cpuCopy)
|
||||
{
|
||||
// Attach an image to copy the render back to the CPU when finished
|
||||
@ -286,10 +289,12 @@ namespace MWRender
|
||||
{
|
||||
osg::ref_ptr<osg::Geometry> geom = createTexturedQuad(srcLeft, srcTop, srcRight, srcBottom);
|
||||
osg::ref_ptr<osg::Depth> depth = new osg::Depth;
|
||||
depth->setFunction(osg::Depth::ALWAYS);
|
||||
geom->getOrCreateStateSet()->setAttributeAndModes(depth, osg::StateAttribute::ON);
|
||||
geom->getOrCreateStateSet()->setTextureAttributeAndModes(0, texture, osg::StateAttribute::ON);
|
||||
geom->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF);
|
||||
depth->setWriteMask(0);
|
||||
osg::StateSet* stateset = geom->getOrCreateStateSet();
|
||||
stateset->setAttribute(depth);
|
||||
stateset->setTextureAttributeAndModes(0, texture, osg::StateAttribute::ON);
|
||||
stateset->setMode(GL_LIGHTING, osg::StateAttribute::OFF);
|
||||
stateset->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF);
|
||||
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
|
||||
geode->addDrawable(geom);
|
||||
camera->addChild(geode);
|
||||
|
Loading…
x
Reference in New Issue
Block a user