From 6ca5684decb2eab36a9d5fef95aad34f99b672b1 Mon Sep 17 00:00:00 2001 From: fhntv24 Date: Sun, 8 Jun 2014 13:18:32 +0400 Subject: [PATCH 1/2] Some way to get current rendering state. I didnt find how to get , if its a light rendering or not.For 2D render you need someting like that , beacos why you do need to render light in GUI state? --- src/com/base/engine/rendering/RenderingEngine.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/com/base/engine/rendering/RenderingEngine.java b/src/com/base/engine/rendering/RenderingEngine.java index 3228c60..74390dd 100644 --- a/src/com/base/engine/rendering/RenderingEngine.java +++ b/src/com/base/engine/rendering/RenderingEngine.java @@ -16,6 +16,7 @@ public class RenderingEngine extends MappedValues { + private int renderState; private HashMap samplerMap; private ArrayList lights; private BaseLight activeLight; @@ -54,6 +55,7 @@ public void updateUniformStruct(Transform transform, Material material, Shader s public void render(GameObject object) { + renderState = 0; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); object.renderAll(forwardAmbient, this); @@ -65,6 +67,7 @@ public void render(GameObject object) for(BaseLight light : lights) { + renderState++; activeLight = light; object.renderAll(light.getShader(), this); } @@ -108,4 +111,8 @@ public void setMainCamera(Camera mainCamera) { this.mainCamera = mainCamera; } + + public int getRenderState() { + return renderState; + } } From c100f56ef4ecc5fa99d25a97a9eebfbdd9b0ab16 Mon Sep 17 00:00:00 2001 From: fhntv24 Date: Sun, 8 Jun 2014 13:21:48 +0400 Subject: [PATCH 2/2] Update RenderingEngine.java --- src/com/base/engine/rendering/RenderingEngine.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/base/engine/rendering/RenderingEngine.java b/src/com/base/engine/rendering/RenderingEngine.java index 74390dd..4c3a49a 100644 --- a/src/com/base/engine/rendering/RenderingEngine.java +++ b/src/com/base/engine/rendering/RenderingEngine.java @@ -56,6 +56,7 @@ public void updateUniformStruct(Transform transform, Material material, Shader s public void render(GameObject object) { renderState = 0; + activeLight = null; // <-- if getActiveLight returns null - we in not lightning rendering state. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); object.renderAll(forwardAmbient, this);