| (1) function TextureBinPack2D(twidth, theight) |
| (2) |
| (3)// Define BinPack Content. |
| (4)create Content is BinPack2D; |
| (5) |
| (6)// Obtain the total number of divided images. |
| (7)get spiltFaceNum is All count of split face; |
| (8) |
| (9)// Image’s Face Search. |
| (10)for (i = 0 to spiltFaceNum) |
| (11)ti = texture index of Face; |
| (12)if(ti>-1 and not contain) // If a texture index exists, it gets the size of the image. |
| (13)set width = width of Image[ti]; |
| (14)set height = height of Image[ti]; |
| (15) |
| (16)//Set Image rect and save the image area. |
| (17)set ss << “box” << ti; |
| (18)insert Content(ss) into myContent; |
| (19)Content index = ti; |
| (20) |
| (21)// Add it to Image content |
| (22)insert BinPack2D(myContent, Coord of BinPack2D, size(width, height) of BinPack2D) into Content; |
| (23) |
| (24) |
| (25) |
| (26)sort Content; |
| (27) |
| (28)// Image array declaration for bin-pack |
| (29)canvasArray = myContent(twidth, theight, 4); //Quarter the image area. |
| (30)remainder = BinPack2D ContentAccumulator; //Setting remaining space after image placement. |
| (31)bool success = result of canvasArray(Content, remainder); //Check place an image was successful. |
| (32) |
| (33)outputContent = ContentAccumulator of BinpPack2D; //Apply the result after placing the image. |
| (34)CollectContent = canvasArray(outputContent); //Collect and store image results. |
| (35) |
| (36)binpack2d_iterator = BinPack2D vector; |
| (37)get myContent is binpack2d_iterator; |
| (38) |
| (39)// Information of an image in which the area exists. |
| (40)print “PLACED”; |
| (41)for (i = start of outputContent to end of outputContent) |
| (42)set myContent = information of content; |
| (43) |
| (44) |
| (45)// Enter the information of the image with the area. |
| (46)print (idx++, string of myContent, width of content, height of content, |
| (47)x of content, y of content, z of content, rotate of content); |
| (48) |
| (49)// Information of an image in which the area not exists. |
| (50)print “NOT PLACED”; |
| (51)for (i = start of remainder to end of remainder) |
| (52)set myContent = information of content; |
| (53) |
| (54) |
| (55)//Enter information for an image without a region. |
| (56)print (string of myContent, width of content, height of content); |
| (57) |