ChunkRenderInfo -> chunkupdate.py
This commit is contained in:
parent
9bf9a9c4e3
commit
4e6e074360
@ -3,48 +3,13 @@
|
|||||||
"""
|
"""
|
||||||
from __future__ import absolute_import, division, print_function
|
from __future__ import absolute_import, division, print_function
|
||||||
import logging
|
import logging
|
||||||
from mcedit2.rendering import scenegraph, rendergraph, layers
|
|
||||||
|
from mcedit2.rendering import scenegraph, rendergraph
|
||||||
from mcedit2.rendering.scenegraph import NamedChildrenNode
|
from mcedit2.rendering.scenegraph import NamedChildrenNode
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
class ChunkRenderInfo(object):
|
|
||||||
maxlod = 2
|
|
||||||
minlod = 0
|
|
||||||
|
|
||||||
def __init__(self, worldScene, chunkPosition):
|
|
||||||
"""
|
|
||||||
|
|
||||||
:param worldScene:
|
|
||||||
:type worldScene: mcedit2.rendering.worldscene.WorldScene
|
|
||||||
:param chunkPosition:
|
|
||||||
:type chunkPosition: (int, int)
|
|
||||||
:return:
|
|
||||||
:rtype:
|
|
||||||
"""
|
|
||||||
super(ChunkRenderInfo, self).__init__()
|
|
||||||
self.worldScene = worldScene
|
|
||||||
self.detailLevel = worldScene.minlod
|
|
||||||
self.invalidLayers = set(layers.Layer.AllLayers)
|
|
||||||
self.renderedLayers = set()
|
|
||||||
|
|
||||||
self.chunkPosition = chunkPosition
|
|
||||||
self.bufferSize = 0
|
|
||||||
self.vertexNodes = []
|
|
||||||
cx, cz = chunkPosition
|
|
||||||
self.translateOffset = (cx << 4, 0, cz << 4)
|
|
||||||
|
|
||||||
def getChunkVertexNodes(self):
|
|
||||||
return iter(self.vertexNodes)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def visibleLayers(self):
|
|
||||||
return self.worldScene.visibleLayers #xxxx
|
|
||||||
|
|
||||||
@property
|
|
||||||
def layersToRender(self):
|
|
||||||
return len(self.invalidLayers) + len(self.visibleLayers - self.renderedLayers)
|
|
||||||
|
|
||||||
class ChunkNode(scenegraph.Node):
|
class ChunkNode(scenegraph.Node):
|
||||||
RenderNodeClass = rendergraph.TranslateRenderNode
|
RenderNodeClass = rendergraph.TranslateRenderNode
|
||||||
|
|
||||||
|
@ -22,11 +22,49 @@ from mceditlib.selection import BoundingBox, SectionBox
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class ChunkRenderInfo(object):
|
||||||
|
maxlod = 2
|
||||||
|
minlod = 0
|
||||||
|
|
||||||
|
def __init__(self, worldScene, chunkPosition):
|
||||||
|
"""
|
||||||
|
|
||||||
|
:param worldScene:
|
||||||
|
:type worldScene: mcedit2.rendering.worldscene.WorldScene
|
||||||
|
:param chunkPosition:
|
||||||
|
:type chunkPosition: (int, int)
|
||||||
|
:return:
|
||||||
|
:rtype:
|
||||||
|
"""
|
||||||
|
super(ChunkRenderInfo, self).__init__()
|
||||||
|
self.worldScene = worldScene
|
||||||
|
self.detailLevel = worldScene.minlod
|
||||||
|
self.invalidLayers = set(layers.Layer.AllLayers)
|
||||||
|
self.renderedLayers = set()
|
||||||
|
|
||||||
|
self.chunkPosition = chunkPosition
|
||||||
|
self.bufferSize = 0
|
||||||
|
self.vertexNodes = []
|
||||||
|
cx, cz = chunkPosition
|
||||||
|
self.translateOffset = (cx << 4, 0, cz << 4)
|
||||||
|
|
||||||
|
def getChunkVertexNodes(self):
|
||||||
|
return iter(self.vertexNodes)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def visibleLayers(self):
|
||||||
|
return self.worldScene.visibleLayers #xxxx
|
||||||
|
|
||||||
|
@property
|
||||||
|
def layersToRender(self):
|
||||||
|
return len(self.invalidLayers) + len(self.visibleLayers - self.renderedLayers)
|
||||||
|
|
||||||
|
|
||||||
class ChunkUpdate(object):
|
class ChunkUpdate(object):
|
||||||
def __init__(self, updateTask, chunkInfo, chunk):
|
def __init__(self, updateTask, chunkInfo, chunk):
|
||||||
"""
|
"""
|
||||||
:type updateTask: mcedit2.rendering.worldscene.SceneUpdateTask
|
:type updateTask: mcedit2.rendering.worldscene.SceneUpdateTask
|
||||||
:type chunkInfo: mcedit2.rendering.chunknode.ChunkRenderInfo
|
:type chunkInfo: mcedit2.rendering.chunkupdate.ChunkRenderInfo
|
||||||
:type chunk: AnvilChunk
|
:type chunk: AnvilChunk
|
||||||
:rtype: ChunkUpdate
|
:rtype: ChunkUpdate
|
||||||
"""
|
"""
|
||||||
@ -401,4 +439,3 @@ class SectionUpdate(object):
|
|||||||
modelMesh.createVertexArrays()
|
modelMesh.createVertexArrays()
|
||||||
self.blockMeshes.append(modelMesh)
|
self.blockMeshes.append(modelMesh)
|
||||||
yield
|
yield
|
||||||
|
|
||||||
|
@ -11,7 +11,8 @@ import itertools
|
|||||||
from mcedit2.rendering.layers import Layer
|
from mcedit2.rendering.layers import Layer
|
||||||
from mcedit2.rendering import chunkupdate, scenegraph
|
from mcedit2.rendering import chunkupdate, scenegraph
|
||||||
from mcedit2.rendering import renderstates
|
from mcedit2.rendering import renderstates
|
||||||
from mcedit2.rendering.chunknode import ChunkNode, ChunkRenderInfo, ChunkGroupNode
|
from mcedit2.rendering.chunknode import ChunkNode, ChunkGroupNode
|
||||||
|
from mcedit2.rendering.chunkupdate import ChunkRenderInfo
|
||||||
from mcedit2.rendering.depths import DepthOffset
|
from mcedit2.rendering.depths import DepthOffset
|
||||||
from mcedit2.rendering.geometrycache import GeometryCache
|
from mcedit2.rendering.geometrycache import GeometryCache
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user