Support instance_image in Collada 1.5 files
The <instance_image> tag in sampler2D elements is not expected by ColladaParser. This patch parses the instance_image element and gets the image ID.pull/692/head
parent
916cfb9d53
commit
24b68b1e3d
|
@ -1509,7 +1509,7 @@ void ColladaParser::ReadEffectParam( Collada::EffectParam& pParam)
|
|||
// don't care for remaining stuff
|
||||
SkipElement( "surface");
|
||||
}
|
||||
else if( IsElement( "sampler2D"))
|
||||
else if( IsElement( "sampler2D") && (FV_1_4_n == mFormat || FV_1_3_n == mFormat))
|
||||
{
|
||||
// surface ID is given inside <source> tags
|
||||
TestOpening( "source");
|
||||
|
@ -1520,6 +1520,19 @@ void ColladaParser::ReadEffectParam( Collada::EffectParam& pParam)
|
|||
|
||||
// don't care for remaining stuff
|
||||
SkipElement( "sampler2D");
|
||||
}
|
||||
else if( IsElement( "sampler2D"))
|
||||
{
|
||||
// surface ID is given inside <instance_image> tags
|
||||
TestOpening( "instance_image");
|
||||
int attrURL = GetAttribute("url");
|
||||
const char* url = mReader->getAttributeValue( attrURL);
|
||||
if( url[0] != '#')
|
||||
ThrowException( "Unsupported URL format in instance_image");
|
||||
url++;
|
||||
pParam.mType = Param_Sampler;
|
||||
pParam.mReference = url;
|
||||
SkipElement( "sampler2D");
|
||||
} else
|
||||
{
|
||||
// ignore unknown element
|
||||
|
|
Loading…
Reference in New Issue