diff --git a/simgear/scene/material/mat.cxx b/simgear/scene/material/mat.cxx index b3914bcd..5888b867 100644 --- a/simgear/scene/material/mat.cxx +++ b/simgear/scene/material/mat.cxx @@ -244,9 +244,21 @@ SGMaterial::read_properties(const SGReaderWriterOptions* options, tree_varieties = props->getIntValue("tree-varieties", 1); const SGPropertyNode* treeTexNode = props->getChild("tree-texture"); + if (treeTexNode) { string treeTexPath = props->getStringValue("tree-texture"); - tree_texture = SGModelLib::findDataFile(treeTexPath, options); + + if (! treeTexPath.empty()) { + SGPath treePath("Textures.high"); + treePath.append(treeTexPath); + tree_texture = SGModelLib::findDataFile(treePath.str(), options); + + if (tree_texture.empty()) { + treePath = SGPath("Textures"); + treePath.append(treeTexPath); + tree_texture = SGModelLib::findDataFile(treePath.str(), options); + } + } } // surface values for use with ground reactions diff --git a/simgear/scene/tgdb/SGTexturedTriangleBin.hxx b/simgear/scene/tgdb/SGTexturedTriangleBin.hxx index 61783ccc..3e722d98 100644 --- a/simgear/scene/tgdb/SGTexturedTriangleBin.hxx +++ b/simgear/scene/tgdb/SGTexturedTriangleBin.hxx @@ -275,9 +275,7 @@ public: SGVec2f texCoord = a*t0 + b*t1 + c*t2; // Check this random point against the object mask - // blue (for buildings) channel. Also check - // that they are more than spacing metres away from - // any other point. + // blue (for buildings) channel. osg::Image* img = object_mask->getImage(); unsigned int x = (int) (img->s() * texCoord.x()) % img->s(); unsigned int y = (int) (img->t() * texCoord.y()) % img->t();