comparison pytouhou/ui/sprite.pyx @ 397:c5ba11ede097

Don’t duplicate values in sprite rendering data.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Wed, 06 Feb 2013 21:41:05 +0100
parents 9e2cbb2c2c64
children 3a7b36324611
comparison
equal deleted inserted replaced
396:34a91f918e7c 397:c5ba11ede097
57 vertmat.translate(width / 2., height / 2., 0.) 57 vertmat.translate(width / 2., height / 2., 0.)
58 58
59 x_1 = 1. / sprite.anm.size[0] 59 x_1 = 1. / sprite.anm.size[0]
60 y_1 = 1. / sprite.anm.size[1] 60 y_1 = 1. / sprite.anm.size[1]
61 tox, toy = sprite.texoffsets 61 tox, toy = sprite.texoffsets
62 uvs = [tx * x_1 + tox, 1. - (ty * y_1 + toy), 62 uvs = (tx * x_1 + tox,
63 (tx + tw) * x_1 + tox, 1. - (ty * y_1 + toy), 63 (tx + tw) * x_1 + tox,
64 (tx + tw) * x_1 + tox, 1. - ((ty + th) * y_1 + toy), 64 1. - (ty * y_1 + toy),
65 tx * x_1 + tox, 1. - ((ty + th) * y_1 + toy)] 65 1. - ((ty + th) * y_1 + toy))
66 66
67 (x1, x2 , x3, x4), (y1, y2, y3, y4), (z1, z2, z3, z4), _ = vertmat.data 67 (x1, x2 , x3, x4), (y1, y2, y3, y4), (z1, z2, z3, z4), _ = vertmat.data
68 68
69 key = sprite.anm.texture, sprite.blendfunc 69 key = sprite.anm.texture, sprite.blendfunc
70 r, g, b = sprite.color 70 r, g, b = sprite.color
71 values = ((x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4)), uvs, [r, g, b, sprite.alpha] * 4 71 values = ((x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4)), uvs, (r, g, b, sprite.alpha)
72 sprite._rendering_data = key, values 72 sprite._rendering_data = key, values
73 sprite.changed = False 73 sprite.changed = False
74 74
75 return sprite._rendering_data 75 return sprite._rendering_data
76 76