- Timestamp:
- 09/22/08 18:18:02 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgimagesequence/osgimagesequence.cpp
r8916 r8918 46 46 { 47 47 osg::ref_ptr<osg::ImageSequence> imageSequence = new osg::ImageSequence; 48 49 bool preLoad = true; 50 51 while (arguments.read("--page-and-discard")) 52 { 53 imageSequence->setMode(osg::ImageSequence::PAGE_AND_DISCARD_USED_IMAGES); 54 preLoad = false; 55 } 56 57 while (arguments.read("--page-and-retain")) 58 { 59 imageSequence->setMode(osg::ImageSequence::PAGE_AND_RETAIN_IMAGES); 60 preLoad = false; 61 } 62 63 while (arguments.read("--preload")) 64 { 65 imageSequence->setMode(osg::ImageSequence::PRE_LOAD_ALL_IMAGES); 66 preLoad = true; 67 } 68 69 double length = -1.0; 70 while (arguments.read("--length",length)) {} 48 71 49 72 if (arguments.argc()>1) … … 51 74 for(unsigned int i=1; i<arguments.argc(); ++i) 52 75 { 53 osg::ref_ptr<osg::Image> image = osgDB::readImageFile(arguments[i]); 54 if (image.valid()) 55 { 56 imageSequence->addImage(image.get()); 57 } 58 } 59 imageSequence->setLength(float(imageSequence->getImages().size())*0.1f); 76 if (preLoad) 77 { 78 osg::ref_ptr<osg::Image> image = osgDB::readImageFile(arguments[i]); 79 if (image.valid()) 80 { 81 imageSequence->addImage(image.get()); 82 } 83 } 84 else 85 { 86 imageSequence->addImageFile(arguments[i]); 87 } 88 } 89 90 if (length>0.0) 91 { 92 imageSequence->setLength(length); 93 } 94 else 95 { 96 imageSequence->setLength(float(imageSequence->getImages().size())*0.1f); 97 } 60 98 } 61 99 else 62 100 { 63 imageSequence->setLength(4.0); 101 if (length>0.0) 102 { 103 imageSequence->setLength(length); 104 } 105 else 106 { 107 imageSequence->setLength(4.0); 108 } 64 109 imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/posx.png")); 65 110 imageSequence->addImage(osgDB::readImageFile("Cubemap_axis/negx.png"));
