From 71406eb6df7ff45069a7d3d12a60557bc23737fa Mon Sep 17 00:00:00 2001 From: Lynix Date: Mon, 25 Aug 2014 20:20:02 +0200 Subject: [PATCH] Fixed array creation Former-commit-id: 21c8018a7eb82f96e14a11485adaecfbfe19d5e7 --- src/Nazara/Utility/Image.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Nazara/Utility/Image.cpp b/src/Nazara/Utility/Image.cpp index 7b963e30d..d59e3a4c6 100644 --- a/src/Nazara/Utility/Image.cpp +++ b/src/Nazara/Utility/Image.cpp @@ -922,15 +922,17 @@ bool NzImage::LoadArrayFromImage(const NzImage& image, const NzVector2ui& atlasS 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 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 - Create(nzImageType_1D_Array, image.GetFormat(), faceSize.x, 1); + Create(nzImageType_1D_Array, image.GetFormat(), faceSize.x, layerCount); 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++)); return true;