Explorar el Código

gui renderer dev...

leonsal hace 8 años
padre
commit
3f5d87c84c
Se han modificado 1 ficheros con 13 adiciones y 6 borrados
  1. 13 6
      renderer/renderer.go

+ 13 - 6
renderer/renderer.go

@@ -262,17 +262,20 @@ func (r *Renderer) renderScene(iscene core.INode, icam camera.ICamera) error {
 		// Setup lights (transfer lights uniforms)
 		for idx, l := range r.ambLights {
 			l.RenderSetup(r.gs, &r.rinfo, idx)
+			r.stats.Lights++
 		}
 		for idx, l := range r.dirLights {
 			l.RenderSetup(r.gs, &r.rinfo, idx)
+			r.stats.Lights++
 		}
 		for idx, l := range r.pointLights {
 			l.RenderSetup(r.gs, &r.rinfo, idx)
+			r.stats.Lights++
 		}
 		for idx, l := range r.spotLights {
 			l.RenderSetup(r.gs, &r.rinfo, idx)
+			r.stats.Lights++
 		}
-		r.stats.Lights += len(r.ambLights) + len(r.dirLights) + len(r.pointLights) + len(r.spotLights)
 
 		// Render this graphic material
 		grmat.Render(r.gs, &r.rinfo)
@@ -284,12 +287,16 @@ func (r *Renderer) renderScene(iscene core.INode, icam camera.ICamera) error {
 // renderGui renders the Gui
 func (r *Renderer) renderGui() error {
 
-	// If panel3D was defined and 3D scene is empty
-	// Sets it renderable as the GUI background
-	if r.panel3D != nil {
-		if len(r.grmats) == 0 {
+	// If no 3D scene was rendered sets Gui panels as renderable for background
+	// User must define the colors
+	if len(r.grmats) == 0 {
+		r.panelGui.SetRenderable(true)
+		if r.panel3D != nil {
 			r.panel3D.SetRenderable(true)
-		} else {
+		}
+	} else {
+		r.panelGui.SetRenderable(false)
+		if r.panel3D != nil {
 			r.panel3D.SetRenderable(false)
 		}
 	}