From f982f194ddfe4d6f61c4e3e0b2260dd0b7139c3f Mon Sep 17 00:00:00 2001 From: sumi Date: Thu, 18 Dec 2025 00:12:08 -0600 Subject: [PATCH] automated snapshot --- main.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/main.go b/main.go index dd9de35..ddc626e 100644 --- a/main.go +++ b/main.go @@ -23,8 +23,6 @@ func main() { os.MkdirAll(snapshotsDir, 0755) - //rng := rand.New(rand.NewSource(0)) - log := log.New(os.Stdout, "", log.Ldate|log.Ltime|log.Lshortfile) storage, err := NewStorage(snapshotsDir) @@ -53,7 +51,7 @@ func main() { field := ScaleField { - Scale: 100.0, + Scale: 10.0, Field: &SimplexNoiseField { Noise: opensimplex.NewNormalized32(0), }, @@ -87,7 +85,7 @@ func main() { rl.BeginDrawing() //rl.ClearBackground(rl.Black) rl.BeginMode2D(camera) - + rl.BeginBlendMode(rl.BlendAdditive) t := time.Since(t0).Seconds() // set up RenderCtx @@ -115,6 +113,7 @@ func main() { } } + rl.EndBlendMode() rl.EndMode2D() // HUD @@ -136,9 +135,7 @@ func (s *FieldSketch) Draw(ctx *RenderCtx) { //screen := rl.Vector2 { X: float32(x) - float32(ctx.Width) / 2.0, Y: float32(y) - float32(ctx.Height) / 2.0 } screen := rl.Vector2 { X: float32(x), Y: float32(y) } world := rl.GetScreenToWorld2D(screen, ctx.Cam) - //fmt.Printf("screen -> %v, world -> %v\n", screen, world) v := s.Field.Get(world.X, world.Y) - //fmt.Printf("%.3f\n", v) clr := GrayCurve(v, 1.0) rl.DrawPixelV(world, clr) } @@ -152,12 +149,14 @@ type ContourSketch struct { func NewContourSketch(rng *rand.Rand, field Field) ContourSketch { - actors := make([]*Actor, 10000) + actors := make([]*Actor, 1000) for i := range len(actors) { actors[i] = &Actor { position: RandRadialVec(rng, 0, 500, 0, 360), field: field, + stepSize: 0.5, + color: rl.NewColor(11, 35, 176, 200), } } @@ -176,14 +175,15 @@ func (s *ContourSketch) Draw(ctx *RenderCtx) { type Actor struct { position rl.Vector2 field Field + stepSize float32 + color rl.Color } func (a *Actor) Draw() { v := a.field.Get(a.position.X, a.position.Y) - rad := rl.Remap(v, 0, 1, 0, 2 * math.Pi) - stepSize := float32(2.0) - nextPosition := rl.Vector2 { X: a.position.X + stepSize*float32(math.Cos(float64(rad))), Y: a.position.Y + stepSize*float32(math.Sin(float64(rad))) } - rl.DrawLineV(a.position, nextPosition, rl.NewColor(255, 255, 255, 25)) + rad := rl.Remap(v, 0, 1, 0, 3 * math.Pi) + nextPosition := rl.Vector2 { X: a.position.X + a.stepSize*float32(math.Cos(float64(rad))), Y: a.position.Y + a.stepSize*float32(math.Sin(float64(rad))) } + rl.DrawLineV(a.position, nextPosition, a.color) //fmt.Printf("position %v -> nextPosition %v \n", a.position, nextPosition) a.position = nextPosition }