Beispiel #1
0
    def __init__(self,
                 dimension,
                 textureAtlas=None,
                 geometryCache=None,
                 bounds=None):
        super(WorldScene, self).__init__()

        self.dimension = dimension
        self.textureAtlas = textureAtlas
        self.depthOffsetNode = DepthOffsetNode(DepthOffset.Renderer)
        self.addChild(self.depthOffsetNode)

        self.textureAtlasNode = TextureAtlasNode(textureAtlas)
        self.depthOffsetNode.addChild(self.textureAtlasNode)

        self.renderstateNodes = {}
        for rsClass in renderstates.allRenderstates:
            rsNode = scenenode.RenderstateNode(rsClass)
            self.textureAtlasNode.addChild(rsNode)
            self.renderstateNodes[rsClass] = rsNode

        self.groupNodes = {}  # by renderstate
        self.chunkRenderInfo = {}
        self.visibleLayers = set(Layer.DefaultVisibleLayers)

        self.updateTask = SceneUpdateTask(self, textureAtlas)

        if geometryCache is None:
            geometryCache = GeometryCache()
        self.geometryCache = geometryCache

        self.showRedraw = False

        self.minlod = 0
        self.bounds = bounds