mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 18:58:54 +01:00
examples/polygon: Better coloring
This commit is contained in:
parent
340a4b4dfa
commit
f2b4dfd061
@ -56,36 +56,30 @@ func genVertices(num int) []ebiten.Vertex {
|
|||||||
|
|
||||||
vs := []ebiten.Vertex{}
|
vs := []ebiten.Vertex{}
|
||||||
for i := 0; i < num; i++ {
|
for i := 0; i < num; i++ {
|
||||||
theta := float64(i) / float64(num) * 2 * math.Pi
|
rate := float64(i) / float64(num)
|
||||||
cr := float32(0)
|
cr := 0.0
|
||||||
cg := float32(0)
|
cg := 0.0
|
||||||
cb := float32(0)
|
cb := 0.0
|
||||||
if 0 <= i && i < 2*num/3 {
|
if rate < 1.0/3.0 {
|
||||||
cr = 2 * float32(i) / float32(num/3)
|
cb = 2 - 2*(rate*3)
|
||||||
|
cr = 2 * (rate * 3)
|
||||||
}
|
}
|
||||||
if num/3 <= i && i < 2*num/3 {
|
if 1.0/3.0 <= rate && rate < 2.0/3.0 {
|
||||||
cr = 2 - 2*float32(i-num/3)/float32(num/3)
|
cr = 2 - 2*(rate-1.0/3.0)*3
|
||||||
|
cg = 2 * (rate - 1.0/3.0) * 3
|
||||||
}
|
}
|
||||||
if num/3 <= i && i < 2*num/3 {
|
if 2.0/3.0 <= rate {
|
||||||
cg = 2 * float32(i-num/3) / float32(num/3)
|
cg = 2 - 2*(rate-2.0/3.0)*3
|
||||||
}
|
cb = 2 * (rate - 2.0/3.0) * 3
|
||||||
if 2*num/3 <= i && i < num {
|
|
||||||
cg = 2 - 2*float32(i-2*num/3)/float32(num/3)
|
|
||||||
}
|
|
||||||
if 2*num/3 <= i && i < num {
|
|
||||||
cb = 2 * float32(i-2*num/3) / float32(num/3)
|
|
||||||
}
|
|
||||||
if 0 <= i && i < num/3 {
|
|
||||||
cb = 2 - 2*float32(i)/float32(num/3)
|
|
||||||
}
|
}
|
||||||
vs = append(vs, ebiten.Vertex{
|
vs = append(vs, ebiten.Vertex{
|
||||||
DstX: float32(r*math.Cos(theta)) + centerX,
|
DstX: float32(r*math.Cos(2*math.Pi*rate)) + centerX,
|
||||||
DstY: float32(r*math.Sin(theta)) + centerY,
|
DstY: float32(r*math.Sin(2*math.Pi*rate)) + centerY,
|
||||||
SrcX: 0,
|
SrcX: 0,
|
||||||
SrcY: 0,
|
SrcY: 0,
|
||||||
ColorR: cr,
|
ColorR: float32(cr),
|
||||||
ColorG: cg,
|
ColorG: float32(cg),
|
||||||
ColorB: cb,
|
ColorB: float32(cb),
|
||||||
ColorA: 1,
|
ColorA: 1,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user