From: Stuart Buchanan Date: Fri, 6 Jul 2012 20:38:15 +0000 (+0100) Subject: Fix bug where two references to a png object mask used against X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=fa58672f095b81b0b1b4e92effaca6de35bbf742;p=simgear.git Fix bug where two references to a png object mask used against a dds terrain texture resulted in the object mask being flipped twice, having no overall effect! --- diff --git a/simgear/scene/material/mat.cxx b/simgear/scene/material/mat.cxx index cc22600a..6152cc55 100644 --- a/simgear/scene/material/mat.cxx +++ b/simgear/scene/material/mat.cxx @@ -238,8 +238,11 @@ SGMaterial::read_properties(const SGReaderWriterOptions* options, if (dds[i] != dds_mask) { // Texture format does not match mask format. This is relevant for // the object mask, as DDS textures have an origin at the bottom - // left rather than top left, therefore we flip the object mask - // vertically. + // left rather than top left. Therefore we flip a copy of the image + // (otherwise a second reference to the object mask would flip it + // back!). + SG_LOG(SG_GENERAL, SG_DEBUG, "Flipping object mask" << omname); + image = (osg::Image* ) image->clone(osg::CopyOp::SHALLOW_COPY); image->flipVertical(); }