Fixed array creation
Former-commit-id: 21c8018a7eb82f96e14a11485adaecfbfe19d5e7
This commit is contained in:
parent
fd293f8564
commit
71406eb6df
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue