Просмотр исходного кода

replaced individual gui.Panel uniforms for an uniform array

leonsal 8 лет назад
Родитель
Сommit
d3fa08c68d
1 измененных файлов с 16 добавлено и 60 удалено
  1. 16 60
      gui/panel.go

+ 16 - 60
gui/panel.go

@@ -62,26 +62,19 @@ type Panel struct {
 	content          Rect                // current content rectangle in pixel coordinates
 	modelMatrixUni   gls.UniformMatrix4f // model matrix uniform
 	panUni           gls.Uniform4fv      // uniform array with all panel dimensions and colors
-	//borderColorUni   gls.Uniform4f       // pointer to border color uniform
-	//paddingColorUni  gls.Uniform4f       // pointer to padding color uniform
-	//contentColorUni  gls.Uniform4f       // pointer to content color uniform
-	//boundsUni        gls.Uniform4f       // pointer to bounds uniform (texture coordinates)
-	//borderUni        gls.Uniform4f       // pointer to border uniform (texture coordinates)
-	//paddingUni       gls.Uniform4f       // pointer to padding uniform (texture coordinates)
-	//contentUni       gls.Uniform4f       // pointer to content uniform (texture coordinates)
-	pospix       math32.Vector3 // absolute position in pixels
-	posclip      math32.Vector3 // position in clip (NDC) coordinates
-	wclip        float32        // width in clip coordinates
-	hclip        float32        // height in clip coordinates
-	xmin         float32        // minimum absolute x this panel can use
-	xmax         float32        // maximum absolute x this panel can use
-	ymin         float32        // minimum absolute y this panel can use
-	ymax         float32        // maximum absolute y this panel can use
-	bounded      bool           // panel is bounded by its parent
-	enabled      bool           // enable event processing
-	cursorEnter  bool           // mouse enter dispatched
-	layout       ILayout        // current layout for children
-	layoutParams interface{}    // current layout parameters used by container panel
+	pospix           math32.Vector3      // absolute position in pixels
+	posclip          math32.Vector3      // position in clip (NDC) coordinates
+	wclip            float32             // width in clip coordinates
+	hclip            float32             // height in clip coordinates
+	xmin             float32             // minimum absolute x this panel can use
+	xmax             float32             // maximum absolute x this panel can use
+	ymin             float32             // minimum absolute y this panel can use
+	ymax             float32             // maximum absolute y this panel can use
+	bounded          bool                // panel is bounded by its parent
+	enabled          bool                // enable event processing
+	cursorEnter      bool                // mouse enter dispatched
+	layout           ILayout             // current layout for children
+	layoutParams     interface{}         // current layout parameters used by container panel
 }
 
 const (
@@ -140,20 +133,11 @@ func (p *Panel) Initialize(width, height float32) {
 	p.Graphic = graphic.NewGraphic(geom, gls.TRIANGLES)
 	p.AddMaterial(p, p.mat, 0, 0)
 
-	// Creates and adds uniform
+	// Initialize uniforms
 	p.modelMatrixUni.Init("ModelMatrix")
 	p.panUni.Init("Panel", 7)
 
-	//p.borderColorUni.Init("BorderColor")
-	//p.paddingColorUni.Init("PaddingColor")
-	//p.contentColorUni.Init("ContentColor")
-	//p.boundsUni.Init("Bounds")
-	//p.borderUni.Init("Border")
-	//p.paddingUni.Init("Padding")
-	//p.contentUni.Init("Content")
-
 	// Set defaults
-	//p.borderColorUni.Set(0, 0, 0, 1)
 	p.panUni.Set(idxBorderColor, 0, 0, 0, 1)
 	p.bounded = true
 	p.enabled = true
@@ -167,19 +151,11 @@ func (p *Panel) InitializeGraphic(width, height float32, gr *graphic.Graphic) {
 	p.width = width
 	p.height = height
 
-	// Creates and adds uniform
+	// Initializes uniforms
+	p.modelMatrixUni.Init("ModelMatrix")
 	p.panUni.Init("Panel", 7)
-	//p.modelMatrixUni.Init("ModelMatrix")
-	//p.borderColorUni.Init("BorderColor")
-	//p.paddingColorUni.Init("PaddingColor")
-	//p.contentColorUni.Init("ContentColor")
-	//p.boundsUni.Init("Bounds")
-	//p.borderUni.Init("Border")
-	//p.paddingUni.Init("Padding")
-	//p.contentUni.Init("Content")
 
 	// Set defaults
-	//p.borderColorUni.Set(0, 0, 0, 1)
 	p.panUni.Set(idxBorderColor, 0, 0, 0, 1)
 	p.bounded = true
 	p.enabled = true
@@ -407,14 +383,12 @@ func (p *Panel) Paddings() BorderSizes {
 // The borders opacity is set to 1.0 (full opaque)
 func (p *Panel) SetBordersColor(color *math32.Color) {
 
-	//p.borderColorUni.Set(color.R, color.G, color.B, 1)
 	p.panUni.Set(idxBorderColor, color.R, color.G, color.B, 1)
 }
 
 // SetBordersColor4 sets the color and opacity of this panel borders
 func (p *Panel) SetBordersColor4(color *math32.Color4) {
 
-	//p.borderColorUni.Set(color.R, color.G, color.B, color.A)
 	p.panUni.SetColor4(idxBorderColor, color)
 }
 
@@ -427,15 +401,12 @@ func (p *Panel) BordersColor4() math32.Color4 {
 // SetPaddingsColor sets the color of this panel paddings.
 func (p *Panel) SetPaddingsColor(color *math32.Color) {
 
-	//p.paddingColorUni.Set(color.R, color.G, color.B, 1.0)
 	p.panUni.Set(idxPaddingColor, color.R, color.G, color.B, 1)
 }
 
 // SetColor sets the color of the panel paddings and content area
 func (p *Panel) SetColor(color *math32.Color) *Panel {
 
-	//p.paddingColorUni.Set(color.R, color.G, color.B, 1.0)
-	//p.contentColorUni.Set(color.R, color.G, color.B, 1.0)
 	p.panUni.Set(idxPaddingColor, color.R, color.G, color.B, 1)
 	p.panUni.Set(idxContentColor, color.R, color.G, color.B, 1)
 	return p
@@ -444,8 +415,6 @@ func (p *Panel) SetColor(color *math32.Color) *Panel {
 // SetColor4 sets the color of the panel paddings and content area
 func (p *Panel) SetColor4(color *math32.Color4) *Panel {
 
-	//p.paddingColorUni.Set(color.R, color.G, color.B, color.A)
-	//p.contentColorUni.Set(color.R, color.G, color.B, color.A)
 	p.panUni.SetColor4(idxPaddingColor, color)
 	p.panUni.SetColor4(idxContentColor, color)
 	return p
@@ -454,7 +423,6 @@ func (p *Panel) SetColor4(color *math32.Color4) *Panel {
 // Color4 returns the current color of the panel content area
 func (p *Panel) Color4() math32.Color4 {
 
-	//return p.contentColorUni.GetColor4()
 	return p.panUni.GetColor4(idxContentColor)
 }
 
@@ -873,20 +841,8 @@ func (p *Panel) RenderSetup(gl *gls.GLS, rinfo *core.RenderInfo) {
 	p.modelMatrixUni.SetMatrix4(&mm)
 
 	// Transfer uniforms
-	//p.borderColorUni.Transfer(gl)
-	//p.paddingColorUni.Transfer(gl)
-	//p.contentColorUni.Transfer(gl)
-	//p.boundsUni.Transfer(gl)
-	//p.borderUni.Transfer(gl)
-	//p.paddingUni.Transfer(gl)
-	//p.contentUni.Transfer(gl)
 	p.panUni.Transfer(gl)
 	p.modelMatrixUni.Transfer(gl)
-	//log.Error("panel:%p boundsUni.:%v", p, p.boundsUni)
-	//log.Error("panel:%p borderUni.:%v", p, p.borderUni)
-	//log.Error("panel:%p paddingUni:%v", p, p.paddingUni)
-	//log.Error("panel:%p contentUni:%v", p, p.contentUni)
-	//log.Error("panel:%p mm        :%v", p, p.modelMatrixUni)
 }
 
 // SetModelMatrix calculates and sets the specified matrix with the model matrix for this panel