Added TextureCubeMap::setImage/getImage() methpds
This commit is contained in:
parent
3e676f67ff
commit
bdff0955dc
@ -31,6 +31,44 @@ FACE_IMAGE_FUNCTION( NegY, osg::TextureCubeMap::NEGATIVE_Y )
|
|||||||
FACE_IMAGE_FUNCTION( PosZ, osg::TextureCubeMap::POSITIVE_Z )
|
FACE_IMAGE_FUNCTION( PosZ, osg::TextureCubeMap::POSITIVE_Z )
|
||||||
FACE_IMAGE_FUNCTION( NegZ, osg::TextureCubeMap::NEGATIVE_Z )
|
FACE_IMAGE_FUNCTION( NegZ, osg::TextureCubeMap::NEGATIVE_Z )
|
||||||
|
|
||||||
|
struct TextureCubeGetValue : public osgDB::MethodObject
|
||||||
|
{
|
||||||
|
virtual bool run(void* objectPtr, osg::Parameters& inputParameters, osg::Parameters& outputParameters) const
|
||||||
|
{
|
||||||
|
if (inputParameters.empty()) return false;
|
||||||
|
|
||||||
|
unsigned int index = 0;
|
||||||
|
osg::ValueObject* indexObject = inputParameters[0]->asValueObject();
|
||||||
|
if (indexObject) indexObject->getScalarValue(index);
|
||||||
|
|
||||||
|
osg::TextureCubeMap* tcm = reinterpret_cast<osg::TextureCubeMap*>(objectPtr);
|
||||||
|
outputParameters.push_back(tcm->getImage(index));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct TextureCubeSetValue : public osgDB::MethodObject
|
||||||
|
{
|
||||||
|
virtual bool run(void* objectPtr, osg::Parameters& inputParameters, osg::Parameters& outputParameters) const
|
||||||
|
{
|
||||||
|
if (inputParameters.size()<2) return false;
|
||||||
|
|
||||||
|
unsigned int index = 0;
|
||||||
|
osg::ValueObject* indexObject = inputParameters[0]->asValueObject();
|
||||||
|
if (indexObject) indexObject->getScalarValue(index);
|
||||||
|
|
||||||
|
osg::Image* image = inputParameters[1]->asImage();
|
||||||
|
if (!image) return false;
|
||||||
|
|
||||||
|
osg::TextureCubeMap* tcm = reinterpret_cast<osg::TextureCubeMap*>(objectPtr);
|
||||||
|
tcm->setImage(index, image);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
REGISTER_OBJECT_WRAPPER( TextureCubeMap,
|
REGISTER_OBJECT_WRAPPER( TextureCubeMap,
|
||||||
new osg::TextureCubeMap,
|
new osg::TextureCubeMap,
|
||||||
osg::TextureCubeMap,
|
osg::TextureCubeMap,
|
||||||
@ -45,4 +83,7 @@ REGISTER_OBJECT_WRAPPER( TextureCubeMap,
|
|||||||
|
|
||||||
ADD_INT_SERIALIZER( TextureWidth, 0 ); // _textureWidth
|
ADD_INT_SERIALIZER( TextureWidth, 0 ); // _textureWidth
|
||||||
ADD_INT_SERIALIZER( TextureHeight, 0 ); // _textureHeight
|
ADD_INT_SERIALIZER( TextureHeight, 0 ); // _textureHeight
|
||||||
|
|
||||||
|
ADD_METHOD_OBJECT( "getImage", TextureCubeGetValue );
|
||||||
|
ADD_METHOD_OBJECT( "setImage", TextureCubeSetValue );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user