from OpenGL.GL import * from editortool.map.mapdefs import TILE_WIDTH, TILE_HEIGHT, TILE_DEPTH, CHUNK_WIDTH, CHUNK_HEIGHT, CHUNK_DEPTH class Tile: def __init__(self, chunk, x, y, z, tileIndex): self.tileId = 0 self.chunk = chunk self.x = x self.y = y self.z = z self.posX = x * TILE_WIDTH + chunk.x * CHUNK_WIDTH * TILE_WIDTH self.posY = y * TILE_HEIGHT + chunk.y * CHUNK_HEIGHT * TILE_HEIGHT self.posZ = z * TILE_DEPTH + chunk.z * CHUNK_DEPTH * TILE_DEPTH def buffer(self, vertexBuffer): if self.z != 0: return # if self.x != 0 or self.y != 0 or self.z != 0: # return # Only buffer the tile at (0,0,0) # Center tile. x = self.posX - TILE_WIDTH / 2.0 y = self.posY - TILE_HEIGHT / 2.0 z = self.posZ - TILE_DEPTH / 2.0 w = TILE_WIDTH h = TILE_HEIGHT d = TILE_DEPTH # Quad on the XY plane at z vertexBuffer.vertices.extend([ x, y, z, # bottom left x + w, y, z, # bottom right x + w, y + h, z, # top right x, y, z, # bottom left x + w, y + h, z, # top right x, y + h, z # top left ])