|
@@ -94,7 +94,6 @@ func (r *Renderer) Render(icam camera.ICamera) error {
|
|
|
if r.gui != nil {
|
|
if r.gui != nil {
|
|
|
r.gs.Clear(gls.DEPTH_BUFFER_BIT)
|
|
r.gs.Clear(gls.DEPTH_BUFFER_BIT)
|
|
|
err := r.renderGui(icam)
|
|
err := r.renderGui(icam)
|
|
|
- //err := r.renderScene(r.gui, icam)
|
|
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
@@ -238,19 +237,23 @@ func (r *Renderer) renderGui(icam camera.ICamera) error {
|
|
|
var buildRenderList func(ipan gui.IPanel)
|
|
var buildRenderList func(ipan gui.IPanel)
|
|
|
buildRenderList = func(ipan gui.IPanel) {
|
|
buildRenderList = func(ipan gui.IPanel) {
|
|
|
pan := ipan.GetPanel()
|
|
pan := ipan.GetPanel()
|
|
|
|
|
+ // If panel is not visible, ignore
|
|
|
if !pan.Visible() {
|
|
if !pan.Visible() {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
+ // Get panel graphic materials
|
|
|
gr := pan.GetGraphic()
|
|
gr := pan.GetGraphic()
|
|
|
materials := gr.Materials()
|
|
materials := gr.Materials()
|
|
|
for i := 0; i < len(materials); i++ {
|
|
for i := 0; i < len(materials); i++ {
|
|
|
r.grmats = append(r.grmats, &materials[i])
|
|
r.grmats = append(r.grmats, &materials[i])
|
|
|
}
|
|
}
|
|
|
|
|
+ // Get this panel children
|
|
|
for _, ichild := range pan.Children() {
|
|
for _, ichild := range pan.Children() {
|
|
|
buildRenderList(ichild.(gui.IPanel))
|
|
buildRenderList(ichild.(gui.IPanel))
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // Builds list of panel graphic materials to render
|
|
|
r.grmats = r.grmats[0:0]
|
|
r.grmats = r.grmats[0:0]
|
|
|
buildRenderList(parent)
|
|
buildRenderList(parent)
|
|
|
|
|
|