improve hit calculation accuracy for texture editing

0.6.3
Nelsson Huotari 7 years ago
parent e8a9bff85c
commit 24977fcc0f

@ -307,8 +307,20 @@ void CSVRender::TerrainTextureMode::editTerrainTextureGrid(const WorldspaceHitRe
int cellY = cellCoordinates_pair.first.getY(); int cellY = cellCoordinates_pair.first.getY();
// The coordinates of hit in mCellId // The coordinates of hit in mCellId
int xHitInCell ((hit.worldPos.x() - (cellX* cellSize)) * landTextureSize / cellSize); int xHitInCell (float(((hit.worldPos.x() - (cellX* cellSize)) * landTextureSize / cellSize) - 0.5));
int yHitInCell ((hit.worldPos.y() - (cellY* cellSize)) * landTextureSize / cellSize); int yHitInCell (float(((hit.worldPos.y() - (cellY* cellSize)) * landTextureSize / cellSize) + 0.5));
if (xHitInCell < 0)
{
xHitInCell = xHitInCell + landTextureSize;
cellX = cellX - 1;
}
if (yHitInCell > 15)
{
yHitInCell = yHitInCell - landTextureSize;
cellY = cellY + 1;
}
mCellId = "#" + std::to_string(cellX) + " " + std::to_string(cellY);
std::string iteratedCellId; std::string iteratedCellId;

Loading…
Cancel
Save