def saveNormalMap( self, normals, filename ): siz = self.a-1 from pyglet.image import SolidColorImagePattern c = 65, 65, 65, 65 img = SolidColorImagePattern(c).create_image(siz, siz) img = img.get_image_data() toSave = lambda x : int( (x+1)*127 ) data2 = "" for i in xrange(0, siz**2*3, siz*3): for j in range(0, siz*3, 3): r, g, b = normals[i+j:i+j+3] r, g, b, a = toSave(r), toSave(g), toSave(b), 255 data2 += chr(r) + chr(g) + chr(b) + chr(a) img.set_data('RGBA', img.width*4, data2) img.save('saved/{}.png'.format(filename))
def saveHeightMap( self, filename): from pyglet.image import SolidColorImagePattern c = 65, 65, 65, 65 img = SolidColorImagePattern(c).create_image(self.a, self.a) img = img.get_image_data() hm = self.hm mi = min([i for r in hm for i in r]) ma = max([i for r in hm for i in r]) print mi,ma height = ma - mi toSave = lambda x : int( (x-mi)*255/height ) data2 = "" for i in range(self.a): for j in range(self.a): h = toSave( hm[i][j] ) r, g, b, a = h, h, h, 255 data2 += chr(r) + chr(g) + chr(b) + chr(a) img.set_data('RGBA', img.width*4, data2) img.save('saved/{}.png'.format(filename)) with open('saved/{}.info'.format(filename), 'w') as file: file.write('mi={},ma={}'.format(mi, ma))