recalculate normals when importing heightmaps
This commit is contained in:
@@ -1334,6 +1334,10 @@ void MapTile::setHeightmapImage(QImage const& baseimage, float min_height, float
|
|||||||
}
|
}
|
||||||
|
|
||||||
registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
||||||
|
|
||||||
|
// else we recalculate after tiled edges updates
|
||||||
|
if (!tiledEdges)
|
||||||
|
chunk->recalcNorms();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1355,6 +1359,7 @@ void MapTile::setHeightmapImage(QImage const& baseimage, float min_height, float
|
|||||||
int source_vert = vert_x;
|
int source_vert = vert_x;
|
||||||
targetChunk->getHeightmap()[target_vert].y = sourceChunk->getHeightmap()[source_vert].y;
|
targetChunk->getHeightmap()[target_vert].y = sourceChunk->getHeightmap()[source_vert].y;
|
||||||
}
|
}
|
||||||
|
targetChunk->recalcNorms();
|
||||||
}
|
}
|
||||||
tile->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
tile->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
||||||
}
|
}
|
||||||
@@ -1377,6 +1382,7 @@ void MapTile::setHeightmapImage(QImage const& baseimage, float min_height, float
|
|||||||
int source_vert = vert_y * 17;
|
int source_vert = vert_y * 17;
|
||||||
targetChunk->getHeightmap()[target_vert].y = sourceChunk->getHeightmap()[source_vert].y;
|
targetChunk->getHeightmap()[target_vert].y = sourceChunk->getHeightmap()[source_vert].y;
|
||||||
}
|
}
|
||||||
|
targetChunk->recalcNorms();
|
||||||
}
|
}
|
||||||
tile->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
tile->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
||||||
}
|
}
|
||||||
@@ -1391,10 +1397,20 @@ void MapTile::setHeightmapImage(QImage const& baseimage, float min_height, float
|
|||||||
MapChunk* targetChunk = tile->getChunk(15, 15);
|
MapChunk* targetChunk = tile->getChunk(15, 15);
|
||||||
targetChunk->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
targetChunk->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
||||||
tile->getChunk(15,15)->getHeightmap()[144].y = this->getChunk(0,0)->getHeightmap()[0].y;
|
tile->getChunk(15,15)->getHeightmap()[144].y = this->getChunk(0,0)->getHeightmap()[0].y;
|
||||||
|
targetChunk->recalcNorms();
|
||||||
tile->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
tile->registerChunkUpdate(ChunkUpdateFlags::VERTEX);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int k = 0; k < 16; ++k)
|
||||||
|
{
|
||||||
|
for (int l = 0; l < 16; ++l)
|
||||||
|
{
|
||||||
|
MapChunk* chunk = getChunk(k, l);
|
||||||
|
chunk->recalcNorms();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user