minor changes
This commit is contained in:
parent
4f2ef50783
commit
b0d4233286
26
batch.go
26
batch.go
|
@ -64,7 +64,7 @@ func (b *Batch) MakeTriangles(t Triangles) TargetTriangles {
|
||||||
Triangles: t.Copy(),
|
Triangles: t.Copy(),
|
||||||
orig: MakeTrianglesData(t.Len()),
|
orig: MakeTrianglesData(t.Len()),
|
||||||
trans: MakeTrianglesData(t.Len()),
|
trans: MakeTrianglesData(t.Len()),
|
||||||
b: b,
|
dst: b,
|
||||||
}
|
}
|
||||||
bt.orig.Update(t)
|
bt.orig.Update(t)
|
||||||
bt.trans.Update(bt.orig)
|
bt.trans.Update(bt.orig)
|
||||||
|
@ -75,9 +75,9 @@ func (b *Batch) MakeTriangles(t Triangles) TargetTriangles {
|
||||||
func (b *Batch) MakePicture(p Picture) TargetPicture {
|
func (b *Batch) MakePicture(p Picture) TargetPicture {
|
||||||
bp := &batchPicture{
|
bp := &batchPicture{
|
||||||
Picture: p,
|
Picture: p,
|
||||||
b: b,
|
dst: b,
|
||||||
}
|
}
|
||||||
bp.original = bp
|
bp.orig = bp
|
||||||
return bp
|
return bp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,28 +85,28 @@ type batchTriangles struct {
|
||||||
Triangles
|
Triangles
|
||||||
orig, trans *TrianglesData
|
orig, trans *TrianglesData
|
||||||
|
|
||||||
b *Batch
|
dst *Batch
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bt *batchTriangles) draw(bp *batchPicture) {
|
func (bt *batchTriangles) draw(bp *batchPicture) {
|
||||||
for i := range *bt.trans {
|
for i := range *bt.trans {
|
||||||
transPos := mgl64.Mat3(bt.b.mat).Mul3x1(mgl64.Vec3{
|
transPos := mgl64.Mat3(bt.dst.mat).Mul3x1(mgl64.Vec3{
|
||||||
(*bt.orig)[i].Position.X(),
|
(*bt.orig)[i].Position.X(),
|
||||||
(*bt.orig)[i].Position.Y(),
|
(*bt.orig)[i].Position.Y(),
|
||||||
1,
|
1,
|
||||||
})
|
})
|
||||||
(*bt.trans)[i].Position = V(float64(transPos.X()), float64(transPos.Y()))
|
(*bt.trans)[i].Position = V(float64(transPos.X()), float64(transPos.Y()))
|
||||||
(*bt.trans)[i].Color = (*bt.orig)[i].Color.Mul(bt.b.col)
|
(*bt.trans)[i].Color = (*bt.orig)[i].Color.Mul(bt.dst.col)
|
||||||
(*bt.trans)[i].Picture = (*bt.orig)[i].Picture
|
(*bt.trans)[i].Picture = (*bt.orig)[i].Picture
|
||||||
(*bt.trans)[i].Intensity = (*bt.orig)[i].Intensity
|
(*bt.trans)[i].Intensity = (*bt.orig)[i].Intensity
|
||||||
}
|
}
|
||||||
|
|
||||||
bt.Triangles.Update(bt.trans)
|
bt.Triangles.Update(bt.trans)
|
||||||
|
|
||||||
cont := bt.b.cont.Triangles
|
cont := bt.dst.cont.Triangles
|
||||||
cont.SetLen(cont.Len() + bt.Triangles.Len())
|
cont.SetLen(cont.Len() + bt.Triangles.Len())
|
||||||
cont.Slice(cont.Len()-bt.Triangles.Len(), cont.Len()).Update(bt.Triangles)
|
cont.Slice(cont.Len()-bt.Triangles.Len(), cont.Len()).Update(bt.Triangles)
|
||||||
bt.b.cont.Dirty()
|
bt.dst.cont.Dirty()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bt *batchTriangles) Draw() {
|
func (bt *batchTriangles) Draw() {
|
||||||
|
@ -116,24 +116,24 @@ func (bt *batchTriangles) Draw() {
|
||||||
type batchPicture struct {
|
type batchPicture struct {
|
||||||
Picture
|
Picture
|
||||||
|
|
||||||
original *batchPicture
|
orig *batchPicture
|
||||||
b *Batch
|
dst *Batch
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bp *batchPicture) Slice(r Rect) Picture {
|
func (bp *batchPicture) Slice(r Rect) Picture {
|
||||||
return &batchPicture{
|
return &batchPicture{
|
||||||
Picture: bp.Picture.Slice(r),
|
Picture: bp.Picture.Slice(r),
|
||||||
original: bp.original,
|
orig: bp.orig,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bp *batchPicture) Original() Picture {
|
func (bp *batchPicture) Original() Picture {
|
||||||
return bp.original
|
return bp.orig
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bp *batchPicture) Draw(t TargetTriangles) {
|
func (bp *batchPicture) Draw(t TargetTriangles) {
|
||||||
bt := t.(*batchTriangles)
|
bt := t.(*batchTriangles)
|
||||||
if bp.b != bt.b {
|
if bp.dst != bt.dst {
|
||||||
panic(fmt.Errorf("%T.Draw: TargetTriangles generated by different Batch", bp))
|
panic(fmt.Errorf("%T.Draw: TargetTriangles generated by different Batch", bp))
|
||||||
}
|
}
|
||||||
bt.draw(bp)
|
bt.draw(bp)
|
||||||
|
|
Loading…
Reference in New Issue