Added ImageSequence to .ive plugin, added support for multiple ImageThreads in osgDB::ImagePager

This commit is contained in:
Robert Osfield
2008-07-25 13:45:07 +00:00
parent 0d1656055c
commit ec4d189b64
18 changed files with 293 additions and 65 deletions

View File

@@ -50,6 +50,7 @@
#include "Viewport.h"
#include "Scissor.h"
#include "Image.h"
#include "ImageSequence.h"
#include "PointSprite.h"
#include "Multisample.h"
#include "Fog.h"
@@ -956,6 +957,31 @@ osg::Image* DataInputStream::readImage(std::string filename)
return image;
}
osg::Image* DataInputStream::readImage()
{
if ( getVersion() >= VERSION_0029 )
{
int id = peekInt();
if(id == IVEIMAGESEQUENCE)
{
osg::ImageSequence* image = new osg::ImageSequence();
((ive::ImageSequence*)image)->read(this);
return image;
}
else
{
readInt();
IncludeImageMode includeImg = (IncludeImageMode)readChar();
return readImage(includeImg);
}
}
else
{
IncludeImageMode includeImg = (IncludeImageMode)readChar();
return readImage(includeImg);
}
}
osg::Image* DataInputStream::readImage(IncludeImageMode mode)
{
switch(mode) {