Added basic image sequencing

This commit is contained in:
Robert Osfield
2008-07-21 17:28:22 +00:00
parent f088d113f6
commit acd7e65687
7 changed files with 119 additions and 60 deletions

View File

@@ -18,6 +18,7 @@
#include <osg/Vec2>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osg/FrameStamp>
#include <string>
#include <vector>
@@ -293,6 +294,8 @@ class OSG_EXPORT Image : public Object
/** Get the const PixelBufferObject.*/
const PixelBufferObject* getPixelBufferObject() const { return _bufferObject.get(); }
virtual void update(const osg::FrameStamp* fs) {}
protected :

View File

@@ -58,19 +58,23 @@ class OSG_EXPORT ImageSequence : public ImageStream
void addImage(osg::Image* image, double duration = 0.040);
virtual void update(osg::FrameStamp* fs);
virtual void update(const osg::FrameStamp* fs);
protected:
virtual ~ImageSequence() {}
double _referenceTime;
double _timeMultiplier;
void setImageToChild(const osg::Image* image);
double _referenceTime;
double _timeMultiplier;
OpenThreads::Mutex _mutex;
FileNameDurationSequence _fileNameDurationSequence;
ImageDurationSequence _imageDuationSequence;
OpenThreads::Mutex _mutex;
FileNameDurationSequence _fileNameDurationSequence;
ImageDurationSequence _imageDuationSequence;
ImageDurationSequence::iterator _imageIterator;
double _imageIteratorTime;
};

View File

@@ -15,7 +15,6 @@
#define OSG_IMAGESTREAM 1
#include <osg/Image>
#include <osg/FrameStamp>
namespace osg {
@@ -79,7 +78,6 @@ class OSG_EXPORT ImageStream : public Image
virtual void setVolume(float) {}
virtual float getVolume() const { return 0.0f; }
virtual void update(osg::FrameStamp* fs) {}
protected:
virtual void applyLoopingMode() {}