Fixed array creation

Former-commit-id: 21c8018a7eb82f96e14a11485adaecfbfe19d5e7
This commit is contained in:
Lynix 2014-08-25 20:20:02 +02:00
parent fd293f8564
commit 71406eb6df
1 changed files with 6 additions and 4 deletions

View File

@ -922,15 +922,17 @@ bool NzImage::LoadArrayFromImage(const NzImage& image, const NzVector2ui& atlasS
NzVector2ui faceSize = imageSize/atlasSize; NzVector2ui faceSize = imageSize/atlasSize;
unsigned int layerCount = atlasSize.x*atlasSize.y;
// Selon le type de l'image de base, on va créer un array d'images 2D ou 1D // Selon le type de l'image de base, on va créer un array d'images 2D ou 1D
if (type == nzImageType_2D) if (type == nzImageType_2D)
Create(nzImageType_2D_Array, image.GetFormat(), faceSize.x, faceSize.y); Create(nzImageType_2D_Array, image.GetFormat(), faceSize.x, faceSize.y, layerCount);
else else
Create(nzImageType_1D_Array, image.GetFormat(), faceSize.x, 1); Create(nzImageType_1D_Array, image.GetFormat(), faceSize.x, layerCount);
unsigned int layer = 0; unsigned int layer = 0;
for (unsigned int i = 0; i < atlasSize.x; ++i)
for (unsigned int j = 0; j < atlasSize.y; ++j) for (unsigned int j = 0; j < atlasSize.y; ++j)
for (unsigned int i = 0; i < atlasSize.x; ++i)
Copy(image, NzRectui(i*faceSize.x, j*faceSize.y, faceSize.x, faceSize.y), NzVector3ui(0, 0, layer++)); Copy(image, NzRectui(i*faceSize.x, j*faceSize.y, faceSize.x, faceSize.y), NzVector3ui(0, 0, layer++));
return true; return true;