1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-29 17:06:43 +00:00

Replaced std::pow with shift since clang doesn't like int as a first argument

(reports that call is ambiguous)
This commit is contained in:
Nikolay Kasyanov 2013-08-21 23:59:33 +04:00
parent e03e2f0817
commit dc6e15f38e
3 changed files with 8 additions and 8 deletions

View file

@ -20,7 +20,7 @@ namespace Terrain
// Set the total number of vertices // Set the total number of vertices
size_t numVertsOneSide = mNode->getSize() * (ESM::Land::LAND_SIZE-1); size_t numVertsOneSide = mNode->getSize() * (ESM::Land::LAND_SIZE-1);
numVertsOneSide /= std::pow(2, lodLevel); numVertsOneSide /= 1 << lodLevel;
numVertsOneSide += 1; numVertsOneSide += 1;
assert((int)numVertsOneSide == ESM::Land::LAND_SIZE); assert((int)numVertsOneSide == ESM::Land::LAND_SIZE);
mVertexData->vertexCount = numVertsOneSide * numVertsOneSide; mVertexData->vertexCount = numVertsOneSide * numVertsOneSide;
@ -92,7 +92,7 @@ namespace Terrain
// Use 4 bits for each LOD delta // Use 4 bits for each LOD delta
if (lod > 0) if (lod > 0)
{ {
assert (lod - ourLod < std::pow(2,4)); assert (lod - ourLod < (1 << 4));
flags |= int(lod - ourLod) << (4*i); flags |= int(lod - ourLod) << (4*i);
} }
} }

View file

@ -131,7 +131,7 @@ namespace Terrain
Ogre::HardwareVertexBufferSharedPtr colourBuffer) Ogre::HardwareVertexBufferSharedPtr colourBuffer)
{ {
// LOD level n means every 2^n-th vertex is kept // LOD level n means every 2^n-th vertex is kept
size_t increment = std::pow(2, lodLevel); size_t increment = 1 << lodLevel;
Ogre::Vector2 origin = center - Ogre::Vector2(size/2.f, size/2.f); Ogre::Vector2 origin = center - Ogre::Vector2(size/2.f, size/2.f);
assert(origin.x == (int) origin.x); assert(origin.x == (int) origin.x);

View file

@ -214,7 +214,7 @@ namespace Terrain
bool anyDeltas = (lodDeltas[North] || lodDeltas[South] || lodDeltas[West] || lodDeltas[East]); bool anyDeltas = (lodDeltas[North] || lodDeltas[South] || lodDeltas[West] || lodDeltas[East]);
size_t increment = std::pow(2, lodLevel); size_t increment = 1 << lodLevel;
assert((int)increment < ESM::Land::LAND_SIZE); assert((int)increment < ESM::Land::LAND_SIZE);
std::vector<short> indices; std::vector<short> indices;
indices.reserve((ESM::Land::LAND_SIZE-1)*(ESM::Land::LAND_SIZE-1)*2*3 / increment); indices.reserve((ESM::Land::LAND_SIZE-1)*(ESM::Land::LAND_SIZE-1)*2*3 / increment);
@ -251,7 +251,7 @@ namespace Terrain
// South // South
size_t row = 0; size_t row = 0;
size_t outerStep = std::pow(2, lodDeltas[South] + lodLevel); size_t outerStep = 1 << (lodDeltas[South] + lodLevel);
for (size_t col = 0; col < ESM::Land::LAND_SIZE-1; col += outerStep) for (size_t col = 0; col < ESM::Land::LAND_SIZE-1; col += outerStep)
{ {
indices.push_back(ESM::Land::LAND_SIZE*col+row); indices.push_back(ESM::Land::LAND_SIZE*col+row);
@ -275,7 +275,7 @@ namespace Terrain
// North // North
row = ESM::Land::LAND_SIZE-1; row = ESM::Land::LAND_SIZE-1;
outerStep = std::pow(2, lodDeltas[North] + lodLevel); outerStep = 1 << (lodDeltas[North] + lodLevel);
for (size_t col = 0; col < ESM::Land::LAND_SIZE-1; col += outerStep) for (size_t col = 0; col < ESM::Land::LAND_SIZE-1; col += outerStep)
{ {
indices.push_back(ESM::Land::LAND_SIZE*(col+outerStep)+row); indices.push_back(ESM::Land::LAND_SIZE*(col+outerStep)+row);
@ -299,7 +299,7 @@ namespace Terrain
// West // West
size_t col = 0; size_t col = 0;
outerStep = std::pow(2, lodDeltas[West] + lodLevel); outerStep = 1 << (lodDeltas[West] + lodLevel);
for (size_t row = 0; row < ESM::Land::LAND_SIZE-1; row += outerStep) for (size_t row = 0; row < ESM::Land::LAND_SIZE-1; row += outerStep)
{ {
indices.push_back(ESM::Land::LAND_SIZE*col+row+outerStep); indices.push_back(ESM::Land::LAND_SIZE*col+row+outerStep);
@ -323,7 +323,7 @@ namespace Terrain
// East // East
col = ESM::Land::LAND_SIZE-1; col = ESM::Land::LAND_SIZE-1;
outerStep = std::pow(2, lodDeltas[East] + lodLevel); outerStep = 1 << (lodDeltas[East] + lodLevel);
for (size_t row = 0; row < ESM::Land::LAND_SIZE-1; row += outerStep) for (size_t row = 0; row < ESM::Land::LAND_SIZE-1; row += outerStep)
{ {
indices.push_back(ESM::Land::LAND_SIZE*col+row); indices.push_back(ESM::Land::LAND_SIZE*col+row);