# # # # # from direct.directbase import DirectStart from direct.filter.CommonFilters import * from time import time from meshgenerator import MeshGenerator from panda3d.core import ConfigVariableString from random import randint cubes = {} for x in range(0, 25): cubes[x] = {} for y in range(0, 25): cubes[x][y] = {} for z in range(0, 25): cubes[x][y][z] = randint(0, 2) ftime = time() mesh = MeshGenerator('world') for j in cubes: for i in cubes[j]: for k in cubes[j][i]: id = cubes[j][i][k] if id == 0: continue if j-1 not in cubes or cubes[j-1][i][k] == 0: mesh.makeLeftFace(j, i, k, id) if j+1 not in cubes or cubes[j+1][i][k] == 0: mesh.makeRightFace(j, i, k, id) if i-1 not in cubes[j] or cubes[j][i-1][k] == 0: mesh.makeBackFace(j, i, k, id) if i+1 not in cubes[j] or cubes[j][i+1][k] == 0: mesh.makeFrontFace(j, i, k, id) if k-1 not in cubes[j][i] or cubes[j][i][k-1] == 0: mesh.makeBottomFace(j, i, k, id) if k+1 not in cubes[j][i] or cubes[j][i][k+1] == 0: mesh.makeTopFace(j, i, k, id) cube = render.attachNewNode(mesh.getGeomNode()) cube.setTexture(loader.loadTexture("tex.png")) print time() - ftime #filters = CommonFilters(base.win, base.cam) #filters.setBloom() #render.setShaderAuto() run()