I'm making some Ogre components tests and with Ogre 2.2+ version Billboards do no longer work.
I debugged and when setting the datablock, (e.g. "Star", which is an unlit datablock) for a BillboardSet:
Code: Select all
this->billboardSet->setDatablock(Ogre::Root::getSingleton().getHlmsManager()->getDatablock("Star"));
Code: Select all
void BillboardSet::setDatablock( HlmsDatablock *datablock )
{
mMaterialName.clear();
mMaterialGroup.clear();
const String *fullDatablockName = datablock->getNameStr();
if( fullDatablockName )
{
mMaterialName = *fullDatablockName;
}
else
{
LogManager::getSingleton().logMessage(
"Couldn't retrieve full material name of datablock '" +
datablock->getName().getFriendlyText() +
"' Billboard may not render as expected. "
"May be the datablock is scheduled for deletion?" );
}
if( mBuffersCreated )
Renderable::setDatablock( datablock );
}
I get a crash in the next Ogre update:
Because in the render queue the datablock is null, but there is access on that datablock.
Could you look into that issue?
Best Regards
Lax