diff --git a/plugins/osgdb_tms/ReaderWriterTMS.cpp b/plugins/osgdb_tms/ReaderWriterTMS.cpp index f9ba5be12f130c6f7f3b57ece222805fe558594e..810a23eb68510219bd5cbcffca95012263ce0484 100644 --- a/plugins/osgdb_tms/ReaderWriterTMS.cpp +++ b/plugins/osgdb_tms/ReaderWriterTMS.cpp @@ -73,6 +73,7 @@ public: supportsOption("MaximumLevel", "Set maximum level (Z) to load: default 0 (infinite)"); supportsOption("TileSkirtRatio", "Create skirts for every tile: default 0.02"); supportsOption("TileElevationScale", "Set elevation scale for every tile: default 1.0"); + osgDB::Registry::instance()->getReaderWriterForExtension("verse_web"); } virtual const char* className() const diff --git a/plugins/osgdb_web/ReaderWriterWeb.cpp b/plugins/osgdb_web/ReaderWriterWeb.cpp index 83a264dc0ad1a00d4e9b4d57165ef6ee29c96cbd..903c1ca58559e44f76250bbc7e421bb2b7ff6857 100644 --- a/plugins/osgdb_web/ReaderWriterWeb.cpp +++ b/plugins/osgdb_web/ReaderWriterWeb.cpp @@ -54,7 +54,9 @@ public: supportsExtension("verse_web", "Pseudo file extension, used to select libhv plugin."); supportsExtension("*", "Passes all read files to other plugins to handle actual model loading."); supportsOption("Extension", "Set another pseudo extension for loaded file"); - supportsOption("RequestHeaders", "Set request header list (key1;value1;key2;value2;...) as a string"); + supportsOption("RequestHeaders", "Set request header list (key1;value1;key2;value2;...) as a string"); + + osgDB::Registry::instance()->addFileExtensionAlias("webp","verse_webp"); } virtual ~ReaderWriterWeb() diff --git a/plugins/osgdb_webp/ReaderWriterWebP.cpp b/plugins/osgdb_webp/ReaderWriterWebP.cpp index 1164f1d97b1c0695174c49951197a76c4729d90f..e2495735832dfa526165eda4c5f7f1d1bfa8735d 100644 --- a/plugins/osgdb_webp/ReaderWriterWebP.cpp +++ b/plugins/osgdb_webp/ReaderWriterWebP.cpp @@ -48,7 +48,9 @@ public: image->allocateImage(width, height, 1, GL_RGBA, GL_UNSIGNED_BYTE); image->setInternalTextureFormat(GL_RGBA8); memcpy(image->data(), rgba, image->getTotalSizeInBytes()); - WebPFree(rgba); return image.get(); + WebPFree(rgba); + image->flipVertical(); + return image.get(); } virtual WriteResult writeImage(const osg::Image& image, const std::string& path, @@ -57,7 +59,9 @@ public: std::string ext; std::string fileName = getRealFileName(path, ext); std::ofstream out(fileName, std::ios::out | std::ios::binary); if (!out) return WriteResult::ERROR_IN_WRITING_FILE; - return writeImage(image, out, options); + osg::ref_ptr tmp_img = new osg::Image(image); + tmp_img->flipVertical(); + return writeImage(*tmp_img, out, options); } virtual WriteResult writeImage(const osg::Image& image, std::ostream& out, diff --git a/readerwriter/MimeTypes.cpp b/readerwriter/MimeTypes.cpp index 0a65370b5439eba1da3b8bcf7c4b551f70555ee1..107d01b180c8b69bdb796489278b153330b86559 100644 --- a/readerwriter/MimeTypes.cpp +++ b/readerwriter/MimeTypes.cpp @@ -41,6 +41,7 @@ const char* osgv_builtinMimeTypeExtMappings[] = "image/pjpeg","jpg", "image/png","png", "image/tiff","tif", + "image/webp","webp", "image/vasa","mcf", "image/vnd.dwg","dxf", "image/vnd.fpx","fpx",