Beispiel #1
0
   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))
Beispiel #2
0
 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))