Display red boxes for entities as wireframes
Added PolygonModeNode
This commit is contained in:
parent
fd76076689
commit
725ee72b8f
@ -3,11 +3,13 @@
|
|||||||
"""
|
"""
|
||||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||||
import logging
|
import logging
|
||||||
|
from OpenGL import GL
|
||||||
import numpy
|
import numpy
|
||||||
from mcedit2.rendering import renderstates, scenegraph
|
from mcedit2.rendering import renderstates, scenegraph
|
||||||
from mcedit2.rendering.blockmeshes import standardCubeTemplates
|
from mcedit2.rendering.blockmeshes import standardCubeTemplates
|
||||||
from mcedit2.rendering.blockmeshes import ChunkMeshBase
|
from mcedit2.rendering.blockmeshes import ChunkMeshBase
|
||||||
from mcedit2.rendering.layers import Layer
|
from mcedit2.rendering.layers import Layer
|
||||||
|
from mcedit2.rendering.scenegraph import PolygonModeNode
|
||||||
from mcedit2.rendering.slices import _XYZ
|
from mcedit2.rendering.slices import _XYZ
|
||||||
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
|
from mcedit2.rendering.vertexarraybuffer import QuadVertexArrayBuffer
|
||||||
from mceditlib.anvil.entities import PCPaintingEntityRefBase
|
from mceditlib.anvil.entities import PCPaintingEntityRefBase
|
||||||
@ -147,7 +149,10 @@ class MonsterRenderer(EntityMeshBase):
|
|||||||
offset=True,
|
offset=True,
|
||||||
chunkPosition=chunk.chunkPosition)
|
chunkPosition=chunk.chunkPosition)
|
||||||
yield
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -212,6 +212,15 @@ class TranslateRenderNode(RenderstateRenderNode):
|
|||||||
GL.glPopMatrix()
|
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):
|
class VertexRenderNode(RenderNode):
|
||||||
def __init__(self, sceneNode):
|
def __init__(self, sceneNode):
|
||||||
"""
|
"""
|
||||||
|
@ -208,6 +208,13 @@ class OrthoNode(Node):
|
|||||||
self._size = value
|
self._size = value
|
||||||
self.dirty = True
|
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):
|
class VertexNode(Node):
|
||||||
RenderNodeClass = rendergraph.VertexRenderNode
|
RenderNodeClass = rendergraph.VertexRenderNode
|
||||||
|
Reference in New Issue
Block a user