Index: OpenSceneGraph/trunk/src/osgPlugins/3ds/WriterNodeVisitor.cpp
===================================================================
--- OpenSceneGraph/trunk/src/osgPlugins/3ds/WriterNodeVisitor.cpp (revision 10932)
+++ OpenSceneGraph/trunk/src/osgPlugins/3ds/WriterNodeVisitor.cpp (revision 10938)
@@ -426,4 +426,14 @@
 }
 
+/// Converts an extension to a 3-letters long one equivalent.
+std::string convertExt(const std::string & path)
+{
+    std::string ext = osgDB::getFileExtensionIncludingDot(path);
+    if (ext == ".tiff") ext = ".tif";
+    else if (ext == ".jpeg") ext = ".jpg";
+    else if (ext == ".jpeg2000" || ext == ".jpg2000") ext = ".jpc";
+    return osgDB::getNameLessExtension(path) + ext;
+}
+
 void WriterNodeVisitor::writeMaterials()
 {
@@ -461,4 +471,6 @@
                     path = getPathRelative(_srcDirectory, mat.image->getFileName());
                 }
+                path = convertExt(path);
+
                 if(!is3DSpath(path)) {
                     path = getUniqueName(path, "", true);
