[PATCH] OgreHardwareVertexBuffer and many other places use 32-bit floats even when OGRE built to use 64-bit floats

Description

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.

Environment

Operating System: GNU/Linux
Card: Nvidia Quadro FX 4500

Assignee

M

Reporter

Douglas

Labels

None

Components

Fix versions

Affects versions

Priority

Major
Configure