Display red boxes for entities as wireframes

Added PolygonModeNode
This commit is contained in:
David Vierra 2015-07-11 11:37:50 -10:00
parent fd76076689
commit 725ee72b8f
3 changed files with 22 additions and 1 deletions

View File

@ -3,11 +3,13 @@
"""
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.blockmeshes import standardCubeTemplates
from mcedit2.rendering.blockmeshes import ChunkMeshBase
from mcedit2.rendering.layers import Layer
from mcedit2.rendering.scenegraph import PolygonModeNode
from mcedit2.rendering.slices import _XYZ
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
from mceditlib.anvil.entities import PCPaintingEntityRefBase
@ -147,7 +149,10 @@ class MonsterRenderer(EntityMeshBase):
offset=True,
chunkPosition=chunk.chunkPosition)
yield
self.sceneNode = scenegraph.VertexNode(monsters)
vertexNode = scenegraph.VertexNode(monsters)
self.sceneNode = PolygonModeNode(GL.GL_FRONT_AND_BACK, GL.GL_LINE)
self.sceneNode.addChild(vertexNode)

View File

@ -212,6 +212,15 @@ class TranslateRenderNode(RenderstateRenderNode):
GL.glPopMatrix()
class PolygonModeRenderNode(RenderstateRenderNode):
def enter(self):
GL.glPushAttrib(GL.GL_POLYGON_BIT)
GL.glPolygonMode(self.sceneNode.face, self.sceneNode.mode)
def exit(self):
GL.glPopAttrib()
class VertexRenderNode(RenderNode):
def __init__(self, sceneNode):
"""

View File

@ -208,6 +208,13 @@ class OrthoNode(Node):
self._size = value
self.dirty = True
class PolygonModeNode(Node):
RenderNodeClass = rendergraph.PolygonModeRenderNode
def __init__(self, face, mode):
super(PolygonModeNode, self).__init__()
self.face = face
self.mode = mode
class VertexNode(Node):
RenderNodeClass = rendergraph.VertexRenderNode