Scenegraph refactor part 1
scenegraph -> scenegraph.scenenode rendergraph -> scenegraph.rendernode
This commit is contained in:
parent
b2eff71a62
commit
d23f575154
@ -4,6 +4,7 @@ import os
|
||||
|
||||
from PySide import QtGui, QtCore
|
||||
from PySide.QtCore import Qt
|
||||
|
||||
from mcedit2.rendering.blockmodels import BlockModels
|
||||
|
||||
from mcedit2 import editortools
|
||||
@ -25,7 +26,8 @@ from mcedit2.util.showprogress import showProgress
|
||||
from mcedit2.util.undostack import MCEUndoStack
|
||||
from mcedit2.widgets.inspector import InspectorWidget
|
||||
from mcedit2.worldview.viewaction import UseToolMouseAction, TrackingMouseAction
|
||||
from mcedit2.rendering import chunkloader, scenegraph
|
||||
from mcedit2.rendering import chunkloader
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.geometrycache import GeometryCache
|
||||
from mcedit2.rendering.textureatlas import TextureAtlas
|
||||
from mcedit2.widgets.layout import Column, Row
|
||||
@ -307,7 +309,7 @@ class EditorSession(QtCore.QObject):
|
||||
progress("Loading textures and models...")
|
||||
self.setConfiguredBlocks(configuredBlocks) # Must be called after resourceLoader is in place
|
||||
|
||||
self.editorOverlay = scenegraph.Node()
|
||||
self.editorOverlay = scenenode.Node()
|
||||
|
||||
self.biomeTypes = BiomeTypes()
|
||||
|
||||
|
@ -10,7 +10,8 @@ from mcedit2.editortools import EditorTool
|
||||
from mcedit2.command import SimplePerformCommand
|
||||
from mcedit2.editortools.brush.masklevel import FakeBrushSection
|
||||
from mcedit2.editortools.brush.modes import BrushModes
|
||||
from mcedit2.rendering import worldscene, scenegraph
|
||||
from mcedit2.rendering import worldscene
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.depths import DepthOffset
|
||||
from mcedit2.rendering.selection import SelectionBoxNode
|
||||
from mcedit2.util.load_ui import load_ui, registerCustomWidget
|
||||
@ -103,7 +104,7 @@ class BrushTool(EditorTool):
|
||||
BrushModeSetting.connectAndCall(self.modeSettingChanged)
|
||||
|
||||
self.cursorWorldScene = None
|
||||
self.cursorNode = scenegraph.TranslateNode()
|
||||
self.cursorNode = scenenode.TranslateNode()
|
||||
|
||||
self.toolWidget.xSpinSlider.setMinimum(1)
|
||||
self.toolWidget.ySpinSlider.setMinimum(1)
|
||||
|
@ -6,8 +6,7 @@ import logging
|
||||
|
||||
from mcedit2.editortools import EditorTool
|
||||
from mcedit2.rendering.selection import SelectionBoxNode
|
||||
from mcedit2.widgets.nbttree.nbttreemodel import NBTTreeModel
|
||||
from mcedit2.rendering import scenegraph
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.util.load_ui import load_ui
|
||||
|
||||
|
||||
@ -39,7 +38,7 @@ class ChunkTool(EditorTool):
|
||||
|
||||
self.currentChunk = None
|
||||
self.selectionNode = None
|
||||
self.overlayNode = scenegraph.Node()
|
||||
self.overlayNode = scenenode.Node()
|
||||
self.updateChunkWidget()
|
||||
self.updateNBTView()
|
||||
|
||||
|
@ -6,11 +6,11 @@ import logging
|
||||
import traceback
|
||||
|
||||
from PySide import QtCore, QtGui
|
||||
from mcedit2.command import SimpleRevisionCommand
|
||||
|
||||
from mcedit2.command import SimpleRevisionCommand
|
||||
from mcedit2.editortools import EditorTool
|
||||
from mcedit2.handles.boxhandle import BoxHandle
|
||||
from mcedit2.rendering import scenegraph
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.worldscene import WorldScene
|
||||
from mcedit2.util.showprogress import showProgress
|
||||
from mcedit2.util.worldloader import WorldLoader
|
||||
@ -206,9 +206,9 @@ class GenerateTool(EditorTool):
|
||||
|
||||
self.toolWidget.setLayout(Column(*column))
|
||||
|
||||
self.overlayNode = scenegraph.Node()
|
||||
self.overlayNode = scenenode.Node()
|
||||
|
||||
self.sceneHolderNode = scenegraph.TranslateNode()
|
||||
self.sceneHolderNode = scenenode.TranslateNode()
|
||||
self.overlayNode.addChild(self.sceneHolderNode)
|
||||
|
||||
self.previewNode = None
|
||||
@ -368,7 +368,7 @@ class GenerateTool(EditorTool):
|
||||
|
||||
if isinstance(node, list):
|
||||
nodes = node
|
||||
node = scenegraph.Node()
|
||||
node = scenenode.Node()
|
||||
for c in nodes:
|
||||
node.addChild(c)
|
||||
|
||||
|
@ -6,13 +6,12 @@ import logging
|
||||
|
||||
from PySide import QtGui, QtCore
|
||||
from PySide.QtCore import Qt
|
||||
from mcedit2.editorsession import PendingImport
|
||||
|
||||
from mcedit2.editorsession import PendingImport
|
||||
from mcedit2.editortools import EditorTool
|
||||
from mcedit2.command import SimpleRevisionCommand
|
||||
from mcedit2.editortools.select import SelectionFaceNode
|
||||
from mcedit2.rendering.selection import SelectionBoxNode, SelectionFaceNode, boxFaceUnderCursor
|
||||
from mcedit2.rendering import scenegraph
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.depths import DepthOffset
|
||||
from mcedit2.rendering.worldscene import WorldScene
|
||||
from mcedit2.util.load_ui import load_ui
|
||||
@ -120,7 +119,7 @@ class CoordinateWidget(QtGui.QWidget):
|
||||
x, y, z = self.point
|
||||
self.point = Vector(x, y, value)
|
||||
|
||||
class PendingImportNode(scenegraph.TranslateNode):
|
||||
class PendingImportNode(scenenode.TranslateNode):
|
||||
def __init__(self, pendingImport, textureAtlas):
|
||||
super(PendingImportNode, self).__init__()
|
||||
self.pendingImport = pendingImport
|
||||
@ -167,7 +166,7 @@ class MoveTool(EditorTool):
|
||||
|
||||
def __init__(self, editorSession, *args, **kwargs):
|
||||
super(MoveTool, self).__init__(editorSession, *args, **kwargs)
|
||||
self.overlayNode = scenegraph.Node()
|
||||
self.overlayNode = scenenode.Node()
|
||||
|
||||
self.loader = None
|
||||
self.dragStartFace = None
|
||||
|
@ -8,7 +8,6 @@ from OpenGL import GL
|
||||
from PySide import QtGui, QtCore
|
||||
|
||||
from mcedit2.editortools import EditorTool
|
||||
from mcedit2.editortools.brush import shapes
|
||||
from mcedit2.editortools.brush.shapes import ChunkShape
|
||||
from mcedit2.handles.boxhandle import BoxHandle
|
||||
from mcedit2.rendering import cubes
|
||||
@ -16,13 +15,12 @@ from mcedit2.rendering.selection import SelectionScene, SelectionFaceNode
|
||||
from mcedit2.util.load_ui import load_ui
|
||||
from mcedit2.util.glutils import gl
|
||||
from mcedit2.rendering.depths import DepthOffset
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.widgets.layout import Column
|
||||
from mcedit2.widgets.shapewidget import ShapeWidget
|
||||
from mceditlib import faces
|
||||
from mceditlib.geometry import Vector
|
||||
from mceditlib.selection import BoundingBox
|
||||
from mceditlib import selection
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@ -184,7 +182,7 @@ class SelectionTool(EditorTool):
|
||||
None))
|
||||
|
||||
self.cursorNode = SelectionCursor()
|
||||
self.overlayNode = scenegraph.Node()
|
||||
self.overlayNode = scenenode.Node()
|
||||
self.faceHoverNode = SelectionFaceNode()
|
||||
self.selectionNode = SelectionScene()
|
||||
self.overlayNode.addChild(self.selectionNode)
|
||||
@ -290,7 +288,7 @@ class SelectionTool(EditorTool):
|
||||
def createShapedSelection(self, box):
|
||||
return self.shapeInput.currentShape.createShapedSelection(box, self.editorSession.currentDimension)
|
||||
|
||||
class SelectionCursorRenderNode(rendergraph.RenderNode):
|
||||
class SelectionCursorRenderNode(rendernode.RenderNode):
|
||||
def drawSelf(self):
|
||||
point = self.sceneNode.point
|
||||
if point is None:
|
||||
@ -315,7 +313,7 @@ class SelectionCursorRenderNode(rendergraph.RenderNode):
|
||||
|
||||
|
||||
|
||||
class SelectionCursor(scenegraph.Node):
|
||||
class SelectionCursor(scenenode.Node):
|
||||
RenderNodeClass = SelectionCursorRenderNode
|
||||
def __init__(self, point=Vector(0, 0, 0), face=faces.FaceXDecreasing, color=(.3, .3, 1)):
|
||||
super(SelectionCursor, self).__init__()
|
||||
|
@ -3,9 +3,11 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function
|
||||
import logging
|
||||
|
||||
from PySide import QtCore
|
||||
import numpy
|
||||
from mcedit2.rendering import scenegraph
|
||||
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.selection import SelectionBoxNode, SelectionFaceNode, boxFaceUnderCursor
|
||||
from mceditlib import faces
|
||||
from mceditlib.selection import BoundingBox
|
||||
@ -13,7 +15,7 @@ from mceditlib.selection import BoundingBox
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BoxHandle(scenegraph.Node, QtCore.QObject):
|
||||
class BoxHandle(scenenode.Node, QtCore.QObject):
|
||||
# The face that was clicked on
|
||||
dragResizeFace = None
|
||||
|
||||
|
@ -3,9 +3,12 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
from OpenGL import GL
|
||||
import numpy
|
||||
from mcedit2.rendering import renderstates, scenegraph
|
||||
|
||||
from mcedit2.rendering import renderstates
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.blockmeshes import standardCubeTemplates
|
||||
from mcedit2.rendering.blockmeshes import ChunkMeshBase
|
||||
from mcedit2.rendering.layers import Layer
|
||||
@ -32,6 +35,6 @@ class ChunkSectionsRenderer(ChunkMeshBase):
|
||||
buffer.buffer[i, :] = self.vertexTemplate
|
||||
buffer.vertex[i, ..., 1] += cy * 16
|
||||
|
||||
self.sceneNode = scenegraph.VertexNode(buffer)
|
||||
self.sceneNode = scenenode.VertexNode(buffer)
|
||||
|
||||
yield
|
||||
|
@ -3,14 +3,17 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
from OpenGL import GL
|
||||
import numpy
|
||||
from mcedit2.rendering import renderstates, scenegraph
|
||||
|
||||
from mcedit2.rendering import renderstates
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.blockmeshes import standardCubeTemplates
|
||||
from mcedit2.rendering.blockmeshes import ChunkMeshBase
|
||||
from mcedit2.rendering.chunkmeshes.entity import models
|
||||
from mcedit2.rendering.layers import Layer
|
||||
from mcedit2.rendering.scenegraph import PolygonModeNode, DepthFuncNode
|
||||
from mcedit2.rendering.scenegraph.scenenode import PolygonModeNode, DepthFuncNode
|
||||
from mcedit2.rendering.slices import _XYZ
|
||||
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
|
||||
from mceditlib.anvil.entities import PCPaintingEntityRefBase
|
||||
@ -62,7 +65,7 @@ class TileEntityMesh(EntityMeshBase):
|
||||
|
||||
tiles = self._computeVertices(tilePositions, (0xff, 0xff, 0x33, 0x44), chunkPosition=chunk.chunkPosition)
|
||||
yield
|
||||
self.sceneNode = scenegraph.VertexNode(tiles)
|
||||
self.sceneNode = scenenode.VertexNode(tiles)
|
||||
|
||||
|
||||
|
||||
@ -108,15 +111,15 @@ class ItemFrameMesh(EntityMeshBase):
|
||||
texCorners = [(1, 1), (1, 0), (0, 0), (0, 1)]
|
||||
vertexBuffer.texcoord[:] += texCorners
|
||||
|
||||
vertexNode = scenegraph.VertexNode([vertexBuffer])
|
||||
vertexNode = scenenode.VertexNode([vertexBuffer])
|
||||
if mapTex is not None:
|
||||
bindTexNode = scenegraph.BindTextureNode(mapTex)
|
||||
bindTexNode = scenenode.BindTextureNode(mapTex)
|
||||
bindTexNode.addChild(vertexNode)
|
||||
nodes.append(bindTexNode)
|
||||
else:
|
||||
nodes.append(vertexNode)
|
||||
|
||||
self.sceneNode = scenegraph.Node()
|
||||
self.sceneNode = scenenode.Node()
|
||||
for node in nodes:
|
||||
self.sceneNode.addChild(node)
|
||||
|
||||
@ -130,7 +133,7 @@ class ItemFrameMesh(EntityMeshBase):
|
||||
|
||||
class MonsterModelRenderer(ChunkMeshBase):
|
||||
def makeChunkVertices(self, chunk, limitBox):
|
||||
sceneNode = scenegraph.Node()
|
||||
sceneNode = scenenode.Node()
|
||||
for i, ref in enumerate(chunk.Entities):
|
||||
ID = ref.id
|
||||
if ID not in models.cookedModels:
|
||||
@ -150,15 +153,15 @@ class MonsterModelRenderer(ChunkMeshBase):
|
||||
vertexBuffer.vertex[:] = modelVerts[..., :3]
|
||||
vertexBuffer.texcoord[:] = modelVerts[..., 3:5]
|
||||
|
||||
node = scenegraph.VertexNode(vertexBuffer)
|
||||
rotateNode = scenegraph.RotateNode(ref.Rotation[0], (0., 1., 0.))
|
||||
node = scenenode.VertexNode(vertexBuffer)
|
||||
rotateNode = scenenode.RotateNode(ref.Rotation[0], (0., 1., 0.))
|
||||
rotateNode.addChild(node)
|
||||
translateNode = scenegraph.TranslateNode((ref.Position - (chunk.cx << 4, 0, chunk.cz << 4)))
|
||||
translateNode = scenenode.TranslateNode((ref.Position - (chunk.cx << 4, 0, chunk.cz << 4)))
|
||||
translateNode.addChild(rotateNode)
|
||||
|
||||
modelTex = self.chunkUpdate.updateTask.getModelTexture(models.textures[ID])
|
||||
|
||||
textureNode = scenegraph.BindTextureNode(modelTex, (1./modelTex.w, 1./modelTex.h, 1))
|
||||
textureNode = scenenode.BindTextureNode(modelTex, (1./modelTex.w, 1./modelTex.h, 1))
|
||||
textureNode.addChild(translateNode)
|
||||
sceneNode.addChild(textureNode)
|
||||
|
||||
@ -191,7 +194,7 @@ class MonsterRenderer(EntityMeshBase):
|
||||
chunkPosition=chunk.chunkPosition)
|
||||
yield
|
||||
|
||||
vertexNode = scenegraph.VertexNode(monsters)
|
||||
vertexNode = scenenode.VertexNode(monsters)
|
||||
polyNode = PolygonModeNode(GL.GL_FRONT_AND_BACK, GL.GL_LINE)
|
||||
polyNode.addChild(vertexNode)
|
||||
depthNode = DepthFuncNode(GL.GL_ALWAYS)
|
||||
@ -229,5 +232,5 @@ class ItemRenderer(EntityMeshBase):
|
||||
numpy.array(entityColors, dtype='uint8')[:, numpy.newaxis, numpy.newaxis],
|
||||
offset=True, chunkPosition=chunk.chunkPosition)
|
||||
yield
|
||||
self.sceneNode = scenegraph.VertexNode(items)
|
||||
self.sceneNode = scenenode.VertexNode(items)
|
||||
|
||||
|
@ -3,8 +3,11 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
import numpy
|
||||
from mcedit2.rendering import renderstates, scenegraph
|
||||
|
||||
from mcedit2.rendering import renderstates
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.blockmeshes import standardCubeTemplates
|
||||
from mcedit2.rendering.blockmeshes import ChunkMeshBase
|
||||
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
|
||||
@ -98,7 +101,7 @@ class LowDetailBlockMesh(ChunkMeshBase):
|
||||
|
||||
yield
|
||||
if self.detailLevel == 2:
|
||||
self.sceneNode = scenegraph.VertexNode(va0)
|
||||
self.sceneNode = scenenode.VertexNode(va0)
|
||||
return
|
||||
|
||||
# Calculate how deep each column needs to go to be flush with the adjacent column;
|
||||
@ -133,9 +136,9 @@ class LowDetailBlockMesh(ChunkMeshBase):
|
||||
va2.vertex[:, (0, 3), 0] -= 1.0 # turn diagonally
|
||||
|
||||
|
||||
nodes = [scenegraph.VertexNode(v) for v in (va1, va2, va0)]
|
||||
nodes = [scenenode.VertexNode(v) for v in (va1, va2, va0)]
|
||||
|
||||
self.sceneNode = scenegraph.Node()
|
||||
self.sceneNode = scenenode.Node()
|
||||
for node in nodes:
|
||||
self.sceneNode.addChild(node)
|
||||
|
||||
|
@ -3,8 +3,11 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
import numpy
|
||||
from mcedit2.rendering import renderstates, scenegraph
|
||||
|
||||
from mcedit2.rendering import renderstates
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.blockmeshes import standardCubeTemplates
|
||||
from mcedit2.rendering.blockmeshes import ChunkMeshBase
|
||||
from mcedit2.rendering.layers import Layer
|
||||
@ -86,6 +89,6 @@ class TerrainPopulatedRenderer(ChunkMeshBase):
|
||||
verts = self.vertexTemplate[visibleFaces]
|
||||
buffer = QuadVertexArrayBuffer(0, textures=False, lights=False)
|
||||
buffer.buffer = verts
|
||||
self.sceneNode = scenegraph.VertexNode(buffer)
|
||||
self.sceneNode = scenenode.VertexNode(buffer)
|
||||
|
||||
yield
|
||||
|
@ -3,7 +3,8 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
from mcedit2.rendering import scenegraph
|
||||
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.chunkmeshes.entitymesh import EntityMeshBase
|
||||
from mcedit2.rendering.layers import Layer
|
||||
|
||||
@ -17,7 +18,7 @@ class TileTicksRenderer(EntityMeshBase):
|
||||
if hasattr(chunk, "TileTicks"):
|
||||
ticks = chunk.TileTicks
|
||||
if len(ticks):
|
||||
self.sceneNode = scenegraph.VertexNode(
|
||||
self.sceneNode = scenenode.VertexNode(
|
||||
self._computeVertices([[t[i].value for i in "xyz"] for t in ticks],
|
||||
(0xff, 0xff, 0xff, 0x44),
|
||||
chunkPosition=chunk.chunkPosition))
|
||||
|
@ -4,14 +4,14 @@
|
||||
from __future__ import absolute_import, division, print_function
|
||||
import logging
|
||||
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
from mcedit2.rendering.scenegraph import NamedChildrenNode
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.rendering.scenegraph.scenenode import NamedChildrenNode
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
class ChunkNode(scenegraph.Node):
|
||||
RenderNodeClass = rendergraph.TranslateRenderNode
|
||||
class ChunkNode(scenenode.Node):
|
||||
RenderNodeClass = rendernode.TranslateRenderNode
|
||||
|
||||
def __init__(self, chunkPosition):
|
||||
"""
|
||||
|
@ -3,8 +3,10 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
from OpenGL import GL
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.util.glutils import gl
|
||||
from mcedit2.util.load_png import loadPNGTexture
|
||||
|
||||
@ -14,7 +16,7 @@ log = logging.getLogger(__name__)
|
||||
def makeQuad(minx, miny, width, height):
|
||||
return [minx, miny, minx+width, miny, minx+width, miny+height, minx, miny + height]
|
||||
|
||||
class CompassRenderNode(rendergraph.RenderNode):
|
||||
class CompassRenderNode(rendernode.RenderNode):
|
||||
_tex = None
|
||||
|
||||
def compile(self):
|
||||
@ -48,7 +50,7 @@ class CompassRenderNode(rendergraph.RenderNode):
|
||||
with gl.glEnable(GL.GL_BLEND, GL.GL_TEXTURE_2D):
|
||||
GL.glDrawArrays(GL.GL_QUADS, 0, 4)
|
||||
|
||||
class CompassNode(scenegraph.Node):
|
||||
class CompassNode(scenenode.Node):
|
||||
_yawPitch = (0., 0.)
|
||||
RenderNodeClass = CompassRenderNode
|
||||
def __init__(self, small=False):
|
||||
|
@ -8,13 +8,13 @@ import logging
|
||||
import numpy
|
||||
from OpenGL import GL
|
||||
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.util.glutils import Texture, gl
|
||||
from mcedit2.rendering.depths import DepthOffset
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
class LoadableChunksRenderNode(rendergraph.RenderNode):
|
||||
class LoadableChunksRenderNode(rendernode.RenderNode):
|
||||
|
||||
def drawSelf(self):
|
||||
with gl.glPushAttrib(GL.GL_FOG_BIT | GL.GL_ENABLE_BIT):
|
||||
@ -47,7 +47,7 @@ class LoadableChunksRenderNode(rendergraph.RenderNode):
|
||||
return self._floorTexture
|
||||
|
||||
|
||||
class LoadableChunksNode(scenegraph.Node):
|
||||
class LoadableChunksNode(scenenode.Node):
|
||||
skipLargeLevels = False
|
||||
RenderNodeClass = LoadableChunksRenderNode
|
||||
|
||||
|
@ -5,10 +5,10 @@
|
||||
from __future__ import absolute_import, division, print_function
|
||||
import logging
|
||||
|
||||
import numpy
|
||||
cimport numpy
|
||||
|
||||
from mcedit2.rendering import renderstates, scenegraph
|
||||
from mcedit2.rendering import renderstates
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.layers import Layer
|
||||
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
|
||||
cimport mcedit2.rendering.blockmodels as blockmodels
|
||||
@ -304,5 +304,5 @@ class BlockModelMesh(object):
|
||||
vertexArray = QuadVertexArrayBuffer(buffer_ptr)
|
||||
vabuffer = vertexArray.buffer
|
||||
memcpy(vabuffer.data, vertexBuffer, buffer_ptr * sizeof(float) * quadFloats)
|
||||
self.sceneNode = scenegraph.VertexNode(vertexArray)
|
||||
self.sceneNode = scenenode.VertexNode(vertexArray)
|
||||
free(vertexBuffer)
|
||||
|
@ -6,21 +6,21 @@ import logging
|
||||
|
||||
from OpenGL import GL
|
||||
|
||||
from mcedit2.rendering import rendergraph
|
||||
from mcedit2.rendering.scenegraph import rendernode
|
||||
from mcedit2.rendering.depths import DepthOffset
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
class RenderstatePlainNode(rendergraph.RenderstateRenderNode):
|
||||
class RenderstatePlainNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
pass
|
||||
|
||||
def exit(self):
|
||||
pass
|
||||
|
||||
class RenderstateVinesNode(rendergraph.RenderstateRenderNode):
|
||||
class RenderstateVinesNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
GL.glPushAttrib(GL.GL_ENABLE_BIT)
|
||||
GL.glDisable(GL.GL_CULL_FACE)
|
||||
@ -29,7 +29,7 @@ class RenderstateVinesNode(rendergraph.RenderstateRenderNode):
|
||||
def exit(self):
|
||||
GL.glPopAttrib()
|
||||
|
||||
class RenderstateLowDetailNode(rendergraph.RenderstateRenderNode):
|
||||
class RenderstateLowDetailNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
GL.glPushAttrib(GL.GL_ENABLE_BIT)
|
||||
GL.glDisable(GL.GL_CULL_FACE)
|
||||
@ -38,7 +38,7 @@ class RenderstateLowDetailNode(rendergraph.RenderstateRenderNode):
|
||||
def exit(self):
|
||||
GL.glPopAttrib()
|
||||
|
||||
class RenderstateAlphaTestNode(rendergraph.RenderstateRenderNode):
|
||||
class RenderstateAlphaTestNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
GL.glPushAttrib(GL.GL_ENABLE_BIT)
|
||||
GL.glEnable(GL.GL_ALPHA_TEST)
|
||||
@ -46,7 +46,7 @@ class RenderstateAlphaTestNode(rendergraph.RenderstateRenderNode):
|
||||
def exit(self):
|
||||
GL.glPopAttrib()
|
||||
|
||||
class _RenderstateAlphaBlendNode(rendergraph.RenderstateRenderNode):
|
||||
class _RenderstateAlphaBlendNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
GL.glPushAttrib(GL.GL_ENABLE_BIT)
|
||||
GL.glEnable(GL.GL_BLEND)
|
||||
@ -60,7 +60,7 @@ class RenderstateWaterNode(_RenderstateAlphaBlendNode):
|
||||
class RenderstateIceNode(_RenderstateAlphaBlendNode):
|
||||
pass
|
||||
|
||||
class RenderstateEntityNode(rendergraph.RenderstateRenderNode):
|
||||
class RenderstateEntityNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
GL.glPushAttrib(GL.GL_ENABLE_BIT | GL.GL_POLYGON_BIT)
|
||||
GL.glPolygonOffset(DepthOffset.Renderer-1, DepthOffset.Renderer-1)
|
||||
|
7
src/mcedit2/rendering/scenegraph/__init__.py
Normal file
7
src/mcedit2/rendering/scenegraph/__init__.py
Normal file
@ -0,0 +1,7 @@
|
||||
"""
|
||||
__init__.py
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
log = logging.getLogger(__name__)
|
@ -389,7 +389,7 @@ class DepthOffsetRenderNode(RenderstateRenderNode):
|
||||
def updateRenderNode(renderNode):
|
||||
"""
|
||||
|
||||
:type renderNode: mcedit2.rendering.rendergraph.RenderNode
|
||||
:type renderNode: mcedit2.rendering.rendernode.RenderNode
|
||||
"""
|
||||
sceneNode = renderNode.sceneNode
|
||||
|
||||
@ -406,7 +406,7 @@ def createRenderNode(sceneNode):
|
||||
"""
|
||||
|
||||
:type sceneNode: Node
|
||||
:rtype: mcedit2.rendering.rendergraph.RenderNode
|
||||
:rtype: mcedit2.rendering.rendernode.RenderNode
|
||||
"""
|
||||
renderNode = sceneNode.RenderNodeClass(sceneNode)
|
||||
updateChildren(renderNode)
|
||||
@ -416,7 +416,7 @@ def createRenderNode(sceneNode):
|
||||
def updateChildren(renderNode):
|
||||
"""
|
||||
|
||||
:type renderNode: mcedit2.rendering.rendergraph.RenderNode
|
||||
:type renderNode: mcedit2.rendering.rendernode.RenderNode
|
||||
:return:
|
||||
:rtype:
|
||||
"""
|
@ -5,15 +5,14 @@ from __future__ import absolute_import, division, print_function
|
||||
import logging
|
||||
import weakref
|
||||
|
||||
from mcedit2.rendering import rendergraph
|
||||
|
||||
from mcedit2.rendering.scenegraph import rendernode
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
from OpenGL import GL
|
||||
|
||||
class Node(object):
|
||||
RenderNodeClass = rendergraph.RenderNode
|
||||
RenderNodeClass = rendernode.RenderNode
|
||||
|
||||
def __init__(self):
|
||||
super(Node, self).__init__()
|
||||
@ -101,7 +100,7 @@ class Node(object):
|
||||
self.parent.dirty = True
|
||||
|
||||
class NamedChildrenNode(Node):
|
||||
RenderNodeClass = rendergraph.RenderNode
|
||||
RenderNodeClass = rendernode.RenderNode
|
||||
|
||||
def __init__(self):
|
||||
super(NamedChildrenNode, self).__init__()
|
||||
@ -148,7 +147,7 @@ class RenderstateNode(Node):
|
||||
|
||||
|
||||
class TextureAtlasNode(Node):
|
||||
RenderNodeClass = rendergraph.TextureAtlasRenderNode
|
||||
RenderNodeClass = rendernode.TextureAtlasRenderNode
|
||||
|
||||
def __init__(self, textureAtlas=None):
|
||||
super(TextureAtlasNode, self).__init__()
|
||||
@ -164,7 +163,7 @@ class TextureAtlasNode(Node):
|
||||
self.dirty = True
|
||||
|
||||
class TranslateNode(Node):
|
||||
RenderNodeClass = rendergraph.TranslateRenderNode
|
||||
RenderNodeClass = rendernode.TranslateRenderNode
|
||||
|
||||
def __init__(self, translateOffset=(0., 0., 0.)):
|
||||
super(TranslateNode, self).__init__()
|
||||
@ -180,7 +179,7 @@ class TranslateNode(Node):
|
||||
self.dirty = True
|
||||
|
||||
class RotateNode(Node):
|
||||
RenderNodeClass = rendergraph.RotateRenderNode
|
||||
RenderNodeClass = rendernode.RotateRenderNode
|
||||
|
||||
def __init__(self, degrees, axis):
|
||||
super(RotateNode, self).__init__()
|
||||
@ -190,26 +189,26 @@ class RotateNode(Node):
|
||||
|
||||
|
||||
class DepthMaskNode(Node):
|
||||
RenderNodeClass = rendergraph.DepthMaskRenderNode
|
||||
RenderNodeClass = rendernode.DepthMaskRenderNode
|
||||
mask = False
|
||||
|
||||
|
||||
class DepthFuncNode(Node):
|
||||
RenderNodeClass = rendergraph.DepthFuncRenderNode
|
||||
RenderNodeClass = rendernode.DepthFuncRenderNode
|
||||
|
||||
def __init__(self, func=GL.GL_LESS):
|
||||
super(DepthFuncNode, self).__init__()
|
||||
self.func = func
|
||||
|
||||
class ClearNode(Node):
|
||||
RenderNodeClass = rendergraph.ClearRenderNode
|
||||
RenderNodeClass = rendernode.ClearRenderNode
|
||||
|
||||
def __init__(self, clearColor=(0, 0, 0, 1)):
|
||||
super(ClearNode, self).__init__()
|
||||
self.clearColor = clearColor
|
||||
|
||||
class OrthoNode(Node):
|
||||
RenderNodeClass = rendergraph.OrthoRenderNode
|
||||
RenderNodeClass = rendernode.OrthoRenderNode
|
||||
|
||||
def __init__(self, size=(1, 1)):
|
||||
super(OrthoNode, self).__init__()
|
||||
@ -225,7 +224,7 @@ class OrthoNode(Node):
|
||||
self.dirty = True
|
||||
|
||||
class PolygonModeNode(Node):
|
||||
RenderNodeClass = rendergraph.PolygonModeRenderNode
|
||||
RenderNodeClass = rendernode.PolygonModeRenderNode
|
||||
def __init__(self, face, mode):
|
||||
super(PolygonModeNode, self).__init__()
|
||||
self.face = face
|
||||
@ -233,7 +232,7 @@ class PolygonModeNode(Node):
|
||||
|
||||
|
||||
class VertexNode(Node):
|
||||
RenderNodeClass = rendergraph.VertexRenderNode
|
||||
RenderNodeClass = rendernode.VertexRenderNode
|
||||
|
||||
def __init__(self, vertexArrays):
|
||||
"""
|
||||
@ -246,7 +245,7 @@ class VertexNode(Node):
|
||||
self.vertexArrays = vertexArrays
|
||||
|
||||
class BindTextureNode(Node):
|
||||
RenderNodeClass = rendergraph.BindTextureRenderNode
|
||||
RenderNodeClass = rendernode.BindTextureRenderNode
|
||||
|
||||
def __init__(self, texture, scale=None):
|
||||
"""
|
||||
@ -258,7 +257,7 @@ class BindTextureNode(Node):
|
||||
self.scale = scale
|
||||
# changing texture not implemented
|
||||
|
||||
class MatrixRenderNode(rendergraph.RenderstateRenderNode):
|
||||
class MatrixRenderNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
projection = self.sceneNode.projection
|
||||
if projection is not None:
|
||||
@ -323,7 +322,7 @@ class MatrixNode(Node):
|
||||
self.dirty = True
|
||||
|
||||
class DepthOffsetNode(Node):
|
||||
RenderNodeClass = rendergraph.DepthOffsetRenderNode
|
||||
RenderNodeClass = rendernode.DepthOffsetRenderNode
|
||||
def __init__(self, depthOffset):
|
||||
super(DepthOffsetNode, self).__init__()
|
||||
self.depthOffset = depthOffset
|
@ -2,15 +2,19 @@
|
||||
selection
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function
|
||||
from OpenGL import GL
|
||||
from PySide import QtCore
|
||||
import logging
|
||||
|
||||
from OpenGL import GL
|
||||
|
||||
from PySide import QtCore
|
||||
import numpy
|
||||
from mcedit2.rendering import scenegraph, rendergraph, cubes
|
||||
|
||||
from mcedit2.rendering import cubes
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.rendering.chunknode import ChunkGroupNode, ChunkNode
|
||||
from mcedit2.rendering.depths import DepthOffset
|
||||
from mcedit2.rendering.renderstates import _RenderstateAlphaBlendNode
|
||||
from mcedit2.rendering.scenegraph import VertexNode, RenderstateNode
|
||||
from mcedit2.rendering.scenegraph.scenenode import VertexNode, RenderstateNode
|
||||
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
|
||||
from mcedit2.util import profiler
|
||||
from mcedit2.util.glutils import gl
|
||||
@ -22,7 +26,7 @@ from mceditlib.util import exhaust
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class CullFaceRenderNode(rendergraph.RenderstateRenderNode):
|
||||
class CullFaceRenderNode(rendernode.RenderstateRenderNode):
|
||||
def enter(self):
|
||||
GL.glEnable(GL.GL_CULL_FACE)
|
||||
|
||||
@ -92,7 +96,7 @@ class NonAirMaskSelection(SelectionBox):
|
||||
|
||||
|
||||
|
||||
class SelectionScene(scenegraph.Node):
|
||||
class SelectionScene(scenenode.Node):
|
||||
def __init__(self):
|
||||
"""
|
||||
|
||||
@ -254,7 +258,7 @@ faceShades = {
|
||||
faces.FaceDown: (0x22, 0x22, 0x77),
|
||||
}
|
||||
|
||||
class SelectionBoxRenderNode(rendergraph.RenderNode):
|
||||
class SelectionBoxRenderNode(rendernode.RenderNode):
|
||||
def drawSelf(self):
|
||||
box = self.sceneNode.selectionBox
|
||||
if box is None:
|
||||
@ -281,7 +285,7 @@ class SelectionBoxRenderNode(rendergraph.RenderNode):
|
||||
GL.glLineWidth(1.0)
|
||||
cubes.drawBox(box, cubeType=GL.GL_LINES)
|
||||
|
||||
class SelectionBoxNode(scenegraph.Node):
|
||||
class SelectionBoxNode(scenenode.Node):
|
||||
RenderNodeClass = SelectionBoxRenderNode
|
||||
_selectionBox = None
|
||||
depth = DepthOffset.Selection
|
||||
@ -327,7 +331,7 @@ class SelectionBoxNode(scenegraph.Node):
|
||||
self.dirty = True
|
||||
|
||||
|
||||
class SelectionFaceRenderNode(rendergraph.RenderNode):
|
||||
class SelectionFaceRenderNode(rendernode.RenderNode):
|
||||
def drawSelf(self):
|
||||
box = self.sceneNode.selectionBox
|
||||
if box is None:
|
||||
@ -349,7 +353,7 @@ class SelectionFaceRenderNode(rendergraph.RenderNode):
|
||||
cubes.drawFace(box, self.sceneNode.face)
|
||||
|
||||
|
||||
class SelectionFaceNode(scenegraph.Node):
|
||||
class SelectionFaceNode(scenenode.Node):
|
||||
RenderNodeClass = SelectionFaceRenderNode
|
||||
_selectionBox = None
|
||||
_face = faces.FaceYIncreasing
|
||||
|
@ -7,13 +7,13 @@ import logging
|
||||
from OpenGL import GL
|
||||
import numpy
|
||||
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.util.glutils import gl
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SkyRenderNode(rendergraph.RenderNode):
|
||||
class SkyRenderNode(rendernode.RenderNode):
|
||||
def drawSelf(self):
|
||||
with gl.glPushMatrix(GL.GL_MODELVIEW):
|
||||
GL.glLoadIdentity()
|
||||
@ -35,5 +35,5 @@ class SkyRenderNode(rendergraph.RenderNode):
|
||||
GL.glDrawArrays(GL.GL_QUADS, 0, 4)
|
||||
|
||||
|
||||
class SkyNode(scenegraph.Node):
|
||||
class SkyNode(scenenode.Node):
|
||||
RenderNodeClass = SkyRenderNode
|
||||
|
@ -3,19 +3,21 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
import logging
|
||||
|
||||
from OpenGL import GL
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering.vertexarraybuffer import VertexArrayBuffer
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
class WorkplaneNode(scenegraph.Node):
|
||||
class WorkplaneNode(scenenode.Node):
|
||||
|
||||
def __init__(self):
|
||||
super(WorkplaneNode, self).__init__()
|
||||
self.translateNode = scenegraph.TranslateNode()
|
||||
self.translateNode = scenenode.TranslateNode()
|
||||
self.addChild(self.translateNode)
|
||||
self.axis = 1
|
||||
|
||||
@ -65,7 +67,7 @@ class WorkplaneNode(scenegraph.Node):
|
||||
|
||||
if self.vertexNode:
|
||||
self.translateNode.removeChild(self.vertexNode)
|
||||
self.vertexNode = scenegraph.VertexNode([gridArrayBuffer])
|
||||
self.vertexNode = scenenode.VertexNode([gridArrayBuffer])
|
||||
self.translateNode.addChild(self.vertexNode)
|
||||
|
||||
@property
|
||||
|
@ -5,12 +5,14 @@ from __future__ import absolute_import, division, print_function, unicode_litera
|
||||
import logging
|
||||
import sys
|
||||
import collections
|
||||
from OpenGL import GL
|
||||
import numpy
|
||||
import itertools
|
||||
|
||||
from OpenGL import GL
|
||||
import numpy
|
||||
|
||||
from mcedit2.rendering.layers import Layer
|
||||
from mcedit2.rendering import chunkupdate, scenegraph
|
||||
from mcedit2.rendering import chunkupdate
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.rendering import renderstates
|
||||
from mcedit2.rendering.chunknode import ChunkNode, ChunkGroupNode
|
||||
from mcedit2.rendering.chunkupdate import ChunkRenderInfo
|
||||
@ -199,21 +201,21 @@ class SceneUpdateTask(object):
|
||||
|
||||
|
||||
|
||||
class WorldScene(scenegraph.Node):
|
||||
class WorldScene(scenenode.Node):
|
||||
def __init__(self, dimension, textureAtlas=None, geometryCache=None, bounds=None):
|
||||
super(WorldScene, self).__init__()
|
||||
|
||||
self.dimension = dimension
|
||||
self.textureAtlas = textureAtlas
|
||||
self.depthOffsetNode = scenegraph.DepthOffsetNode(DepthOffset.Renderer)
|
||||
self.depthOffsetNode = scenenode.DepthOffsetNode(DepthOffset.Renderer)
|
||||
self.addChild(self.depthOffsetNode)
|
||||
|
||||
self.textureAtlasNode = scenegraph.TextureAtlasNode(textureAtlas)
|
||||
self.textureAtlasNode = scenenode.TextureAtlasNode(textureAtlas)
|
||||
self.depthOffsetNode.addChild(self.textureAtlasNode)
|
||||
|
||||
self.renderstateNodes = {}
|
||||
for rsClass in renderstates.allRenderstates:
|
||||
rsNode = scenegraph.RenderstateNode(rsClass)
|
||||
rsNode = scenenode.RenderstateNode(rsClass)
|
||||
self.textureAtlasNode.addChild(rsNode)
|
||||
self.renderstateNodes[rsClass] = rsNode
|
||||
|
||||
|
@ -3,10 +3,10 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function
|
||||
import logging
|
||||
import pprint
|
||||
from math import floor
|
||||
|
||||
from OpenGL import GL
|
||||
from mcedit2.rendering.scenegraph import Node, VertexNode
|
||||
|
||||
from mcedit2.rendering.scenegraph.scenenode import VertexNode
|
||||
from mcedit2.rendering.selection import SelectionBoxNode
|
||||
from mcedit2.rendering.vertexarraybuffer import VertexArrayBuffer
|
||||
from mcedit2.util import bresenham
|
||||
|
@ -6,11 +6,13 @@ import contextlib
|
||||
import inspect
|
||||
import os
|
||||
import tempfile
|
||||
from PySide import QtGui, QtCore
|
||||
import logging
|
||||
from PySide.QtCore import Qt
|
||||
import gc
|
||||
from mcedit2.rendering import rendergraph
|
||||
|
||||
from PySide import QtGui, QtCore
|
||||
from PySide.QtCore import Qt
|
||||
|
||||
from mcedit2.rendering.scenegraph import rendernode
|
||||
from mcedit2.util import settings
|
||||
from mcedit2.widgets.layout import Column, Row
|
||||
|
||||
@ -123,7 +125,7 @@ class ObjGraphWidget(QtGui.QWidget):
|
||||
traceback.print_exc()
|
||||
return
|
||||
|
||||
if isinstance(obj, rendergraph.RenderNode):
|
||||
if isinstance(obj, rendernode.RenderNode):
|
||||
def edge_func(x):
|
||||
return x.children
|
||||
else:
|
||||
|
@ -7,7 +7,8 @@ import logging
|
||||
|
||||
from PySide import QtGui
|
||||
|
||||
from mcedit2.rendering import worldscene, scenegraph
|
||||
from mcedit2.rendering import worldscene
|
||||
from mcedit2.rendering.scenegraph import scenenode
|
||||
from mcedit2.util import profiler
|
||||
from mcedit2.widgets.layout import Column, Row
|
||||
from mcedit2.worldview.viewcontrols import ViewControls
|
||||
@ -18,7 +19,6 @@ from mceditlib import faces
|
||||
from mceditlib.geometry import Vector
|
||||
from mceditlib.selection import BoundingBox
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ def CutawayWorldViewFrame(dimension, textureAtlas, geometryCache, sharedGLWidget
|
||||
return viewFrame
|
||||
|
||||
|
||||
class SlicedWorldScene(scenegraph.Node):
|
||||
class SlicedWorldScene(scenenode.Node):
|
||||
def __init__(self, dimension, textureAtlas):
|
||||
super(SlicedWorldScene, self).__init__()
|
||||
self.sliceScenes = {}
|
||||
|
@ -3,16 +3,20 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
from collections import namedtuple
|
||||
from OpenGL import GL
|
||||
from PySide import QtCore, QtGui
|
||||
import logging
|
||||
|
||||
from OpenGL import GL
|
||||
|
||||
from PySide import QtCore, QtGui
|
||||
import numpy
|
||||
from mcedit2.rendering import compass, scenegraph, rendergraph
|
||||
|
||||
from mcedit2.rendering import compass
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.rendering.layers import Layer
|
||||
from mcedit2.util.glutils import gl
|
||||
from mcedit2.util.raycast import rayCastInBounds, MaxDistanceError
|
||||
from mcedit2.worldview.worldview import WorldView
|
||||
from mceditlib.geometry import Vector, Ray
|
||||
from mceditlib.geometry import Ray
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@ -27,7 +31,7 @@ class LineSegment(namedtuple("LineSegment", "p1 p2")):
|
||||
return r.atHeight(y)
|
||||
|
||||
|
||||
class ViewCornersRenderNode(rendergraph.RenderNode):
|
||||
class ViewCornersRenderNode(rendernode.RenderNode):
|
||||
|
||||
#
|
||||
# Renders the intersection of a horizontal plane with the view frustum
|
||||
@ -105,7 +109,7 @@ class ViewCornersRenderNode(rendergraph.RenderNode):
|
||||
GL.glDrawArrays(GL.GL_LINE_STRIP, 0, len(points))
|
||||
|
||||
|
||||
class ViewCornersNode(scenegraph.Node):
|
||||
class ViewCornersNode(scenenode.Node):
|
||||
RenderNodeClass = ViewCornersRenderNode
|
||||
|
||||
_corners = None
|
||||
|
@ -11,6 +11,7 @@ import itertools
|
||||
from OpenGL import GL
|
||||
from PySide import QtCore, QtGui
|
||||
from PySide.QtCore import Qt
|
||||
|
||||
from PySide.QtOpenGL import QGLWidget
|
||||
import numpy
|
||||
|
||||
@ -21,13 +22,13 @@ from mcedit2.rendering.geometrycache import GeometryCache
|
||||
from mcedit2.rendering.layers import Layer
|
||||
from mcedit2.rendering.textureatlas import TextureAtlas
|
||||
from mcedit2.rendering.vertexarraybuffer import VertexArrayBuffer
|
||||
from mcedit2.rendering import scenegraph, rendergraph
|
||||
from mcedit2.rendering.scenegraph import scenenode, rendernode
|
||||
from mcedit2.util import profiler, raycast
|
||||
from mcedit2.util.mimeformats import MimeFormats
|
||||
from mcedit2.util.qglcontext import validateQGLContext
|
||||
from mcedit2.util.settings import Settings
|
||||
from mcedit2.widgets.infopanel import InfoPanel
|
||||
from mceditlib import faces, exceptions
|
||||
from mceditlib import faces
|
||||
from mceditlib.geometry import Vector, Ray
|
||||
from mceditlib.exceptions import LevelFormatError, ChunkNotPresent
|
||||
from mceditlib.util import displayName
|
||||
@ -44,7 +45,7 @@ def worldMeshVertexSize(worldMesh):
|
||||
for cm in worldMesh.chunkGroupNode.children:
|
||||
assert isinstance(cm, ChunkNode)
|
||||
for bm in cm.getChunkVertexNodes():
|
||||
assert isinstance(bm, scenegraph.VertexNode)
|
||||
assert isinstance(bm, scenenode.VertexNode)
|
||||
for va in bm.vertexArrays:
|
||||
assert isinstance(va, VertexArrayBuffer)
|
||||
yield va.buffer.nbytes
|
||||
@ -116,7 +117,7 @@ class WorldView(QGLWidget):
|
||||
self.autoUpdateInterval = 0.5 # frequency of screen redraws in response to loaded chunks
|
||||
|
||||
self.compassNode = self.createCompass()
|
||||
self.compassOrthoNode = scenegraph.OrthoNode((1, float(self.height()) / self.width()))
|
||||
self.compassOrthoNode = scenenode.OrthoNode((1, float(self.height()) / self.width()))
|
||||
self.compassOrthoNode.addChild(self.compassNode)
|
||||
|
||||
self.viewActions = []
|
||||
@ -131,7 +132,7 @@ class WorldView(QGLWidget):
|
||||
self.geometryCache = geometryCache
|
||||
|
||||
self.matrixNode = None
|
||||
self.overlayNode = scenegraph.Node()
|
||||
self.overlayNode = scenenode.Node()
|
||||
|
||||
self.sceneGraph = None
|
||||
self.renderGraph = None
|
||||
@ -183,7 +184,7 @@ class WorldView(QGLWidget):
|
||||
if self.renderGraph:
|
||||
self.renderGraph.destroy()
|
||||
self.sceneGraph = self.createSceneGraph()
|
||||
self.renderGraph = rendergraph.createRenderNode(self.sceneGraph)
|
||||
self.renderGraph = rendernode.createRenderNode(self.sceneGraph)
|
||||
self.resetLoadOrder()
|
||||
self.update()
|
||||
|
||||
@ -214,15 +215,15 @@ class WorldView(QGLWidget):
|
||||
return worldscene.WorldScene(self.dimension, self.textureAtlas, self.geometryCache)
|
||||
|
||||
def createSceneGraph(self):
|
||||
sceneGraph = scenegraph.Node()
|
||||
sceneGraph = scenenode.Node()
|
||||
self.worldScene = self.createWorldScene()
|
||||
self.worldScene.setVisibleLayers(self.layerToggleGroup.getVisibleLayers())
|
||||
|
||||
clearNode = scenegraph.ClearNode()
|
||||
clearNode = scenenode.ClearNode()
|
||||
skyNode = sky.SkyNode()
|
||||
self.loadableChunksNode = loadablechunks.LoadableChunksNode(self.dimension)
|
||||
|
||||
self.matrixNode = scenegraph.MatrixNode()
|
||||
self.matrixNode = scenenode.MatrixNode()
|
||||
self._updateMatrices()
|
||||
|
||||
self.matrixNode.addChild(self.loadableChunksNode)
|
||||
@ -526,7 +527,7 @@ class WorldView(QGLWidget):
|
||||
self.frameSamples.append(time.time())
|
||||
|
||||
with profiler.context("renderScene"):
|
||||
rendergraph.renderScene(self.renderGraph)
|
||||
rendernode.renderScene(self.renderGraph)
|
||||
|
||||
|
||||
|
||||
|
@ -4,21 +4,18 @@
|
||||
"""
|
||||
from __future__ import absolute_import, division, print_function
|
||||
import logging
|
||||
from math import pi, cos, sin
|
||||
import math
|
||||
|
||||
from OpenGL import GL
|
||||
from PySide import QtGui
|
||||
import math
|
||||
from mcedit2.plugins import registerGeneratePlugin
|
||||
from mcedit2.rendering.scenegraph import VertexNode
|
||||
from mcedit2.rendering.vertexarraybuffer import VertexArrayBuffer
|
||||
|
||||
from mcedit2.synth.l_system import Geometric, Line, Symbol
|
||||
from mcedit2.plugins import registerGeneratePlugin
|
||||
from mcedit2.rendering.scenegraph.scenenode import VertexNode
|
||||
from mcedit2.rendering.vertexarraybuffer import VertexArrayBuffer
|
||||
from mcedit2.synth.l_system import Geometric, Symbol
|
||||
from mcedit2.synth.l_system_plugin import LSystemPlugin
|
||||
from mcedit2.util import bresenham
|
||||
from mcedit2.widgets.blockpicker import BlockTypeButton
|
||||
from mceditlib import faces
|
||||
from mceditlib.geometry import Vector
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
"""
|
||||
|
Reference in New Issue
Block a user