fixing wtf sprite alignment bug on SQUALL
This commit is contained in:
parent
ba7492dd28
commit
46e7856e19
1 changed files with 5 additions and 28 deletions
33
models.py
33
models.py
|
@ -184,10 +184,10 @@ class Texture(object):
|
||||||
|
|
||||||
def texcoords_subset(self, u, v):
|
def texcoords_subset(self, u, v):
|
||||||
tf = mgr.texture_ids[self.texid]
|
tf = mgr.texture_ids[self.texid]
|
||||||
dest_x = float(self.x) / float(tf.w)
|
dest_x = (float(self.x)-0.0) / float(tf.w)
|
||||||
dest_w = (float(self.x + self.w) / float(tf.w)) - dest_x
|
dest_w = ((float(self.x + self.w)+0.3) / float(tf.w)) - dest_x
|
||||||
dest_y = float(self.y) / float(tf.h)
|
dest_y = (float(self.y)-0.3) / float(tf.h)
|
||||||
dest_h = (float(self.y + self.h) / float(tf.h)) - dest_y
|
dest_h = ((float(self.y + self.h)+0.0) / float(tf.h)) - dest_y
|
||||||
return (dest_x + (u * dest_w), dest_y + (v * dest_h))
|
return (dest_x + (u * dest_w), dest_y + (v * dest_h))
|
||||||
|
|
||||||
def texcoords_direct(self, u, v):
|
def texcoords_direct(self, u, v):
|
||||||
|
@ -218,6 +218,7 @@ class Texture(object):
|
||||||
self.w = tf.w
|
self.w = tf.w
|
||||||
self.h = tf.h
|
self.h = tf.h
|
||||||
self.texcoords = self.texcoords_direct
|
self.texcoords = self.texcoords_direct
|
||||||
|
self.texcoords = self.texcoords_subset
|
||||||
|
|
||||||
def bind(self):
|
def bind(self):
|
||||||
glBindTexture(GL_TEXTURE_2D, self.texid)
|
glBindTexture(GL_TEXTURE_2D, self.texid)
|
||||||
|
@ -359,30 +360,6 @@ class RenderLayer(object):
|
||||||
self.mesh.draw(self.material.texcoords)
|
self.mesh.draw(self.material.texcoords)
|
||||||
glPopMatrix()
|
glPopMatrix()
|
||||||
|
|
||||||
|
|
||||||
class Sprite(object):
|
|
||||||
def __init__(self):
|
|
||||||
Model.__init__(self)
|
|
||||||
vl = [Vertex() for x in xrange(4)]
|
|
||||||
|
|
||||||
normal = vect(0.0, 0.0, 1.0)
|
|
||||||
white = (1.0, 1.0, 1.0)
|
|
||||||
for v in vl:
|
|
||||||
v.n = normal
|
|
||||||
v.c = white
|
|
||||||
|
|
||||||
tl, bl, tr, br = vl
|
|
||||||
|
|
||||||
tl.v = vect(-0.5, -0.5, 0.0); tl.t = (0.0, 0.0)
|
|
||||||
bl.v = vect(-0.5, 0.5, 0.0); bl.t = (0.0, 1.0)
|
|
||||||
tr.v = vect( 0.5, -0.5, 0.0); tr.t = (1.0, 0.0)
|
|
||||||
br.v = vect( 0.5, 0.5, 0.0); br.t = (1.0, 1.0)
|
|
||||||
|
|
||||||
self.corners = vl
|
|
||||||
self.vertexes = [tl, bl, tr, bl, tr, br]
|
|
||||||
|
|
||||||
def set_texture(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
global mgr
|
global mgr
|
||||||
|
|
Loading…
Add table
Reference in a new issue