In StaticGeometry::calculateBounds we do currently have float* pFloat. As a result, I got:
>> (32-bit Real) [StaticGeometry::calculateBounds]
>> pt.x <---- 0xC06A4AF4(=-3.66082)
>> pt.y <---- 0x447A9534(=1002.33)
>> pt.z <---- 0x435D6A48(=221.415)
>> (64-bit Real) [StaticGeometry::calculateBounds]
>> pt.x <---- 0xC00D495E(=-2.2076)
>> pt.y <---- 0x80000000(=-0)
>> pt.z <---- 0x408F52A6(=4.47884)
It is invalid in the case when 64-bit floats are used. Instead of getting 0xC00D495E80000000(=-3.66082477569580078125) for pt.x, I got it splitted in two 32-bit values for pt.x and pt.y.
We shall use Ogre::Real (not float!) here and also in other low-level parts of OgreMain.
I made a patch. It is attached.
Operating System: GNU/Linux
Card: Nvidia Quadro FX 4500