From 4f9992c375a7449a65bcf5909c0a39825b3b50b5 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Tue, 7 Jun 2016 13:24:11 -1000 Subject: [PATCH] Add Enable state for scene nodes --- src/mcedit2/rendering/scenegraph/misc.py | 14 ++++++++++++++ src/mcedit2/rendering/scenegraph/vertex_array.py | 2 +- src/mcedit2/rendering/vertexarraybuffer.py | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/mcedit2/rendering/scenegraph/misc.py b/src/mcedit2/rendering/scenegraph/misc.py index fa8ef37..ef0c815 100644 --- a/src/mcedit2/rendering/scenegraph/misc.py +++ b/src/mcedit2/rendering/scenegraph/misc.py @@ -37,6 +37,20 @@ class LineWidth(states.SceneNodeState): self.lineWidth = lineWidth +class Enable(states.SceneNodeState): + def enter(self): + GL.glPushAttrib(GL.GL_ENABLE_BIT) + for e in self.enables: + GL.glEnable(e) + + def exit(self): + GL.glPopAttrib() + + def __init__(self, *enables): + super(Enable, self).__init__() + self.enables = enables + + class ClearRenderNode(rendernode.RenderNode): def drawSelf(self): color = self.sceneNode.clearColor diff --git a/src/mcedit2/rendering/scenegraph/vertex_array.py b/src/mcedit2/rendering/scenegraph/vertex_array.py index 4c70fe4..74fdc8a 100644 --- a/src/mcedit2/rendering/scenegraph/vertex_array.py +++ b/src/mcedit2/rendering/scenegraph/vertex_array.py @@ -101,4 +101,4 @@ class VertexNode(Node): super(VertexNode, self).__init__() if not isinstance(vertexArrays, (list, tuple)): vertexArrays = [vertexArrays] - self.vertexArrays = vertexArrays \ No newline at end of file + self.vertexArrays = vertexArrays diff --git a/src/mcedit2/rendering/vertexarraybuffer.py b/src/mcedit2/rendering/vertexarraybuffer.py index fa406a7..82a1e01 100644 --- a/src/mcedit2/rendering/vertexarraybuffer.py +++ b/src/mcedit2/rendering/vertexarraybuffer.py @@ -107,6 +107,7 @@ class VertexArrayBuffer(object): def __len__(self): return len(self.buffer) + class QuadVertexArrayBuffer(VertexArrayBuffer): def __init__(self, count, textures=True, lights=True):