-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgallery.go
204 lines (192 loc) · 6.02 KB
/
gallery.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
package main
import (
"math"
"github.com/libeks/go-scene-renderer/colors"
"github.com/libeks/go-scene-renderer/geometry"
"github.com/libeks/go-scene-renderer/objects"
"github.com/libeks/go-scene-renderer/sampler"
"github.com/libeks/go-scene-renderer/scenes"
"github.com/libeks/go-scene-renderer/textures"
)
var (
blackBackground = scenes.BackgroundFromTexture(textures.StaticTexture(textures.Uniform(colors.Black)))
EinsteinOnTheBeach = scenes.BackgroundScene(
scenes.BackgroundFromTexture(textures.FuzzyDynamic{
Texture: textures.StaticTexture(
textures.VerticalGradient{
Gradient: colors.LinearGradient{
Points: []colors.Color{
// einstein on the beach kind of gradient
colors.Black,
colors.Hex("#737C93"),
colors.Hex("#7C8099"),
colors.Hex("#72727A"),
colors.Hex("#9E9796"),
colors.Hex("#FCFDF7"),
colors.Hex("#FBEBE1"),
colors.Hex("#999596"),
colors.Hex("#5E6A6A"),
colors.Black,
},
},
},
),
StdDev: 0.003,
},
),
)
SwivelLines = scenes.CombinedDynamicScene{
Objects: []objects.DynamicObjectInt{
objects.NewDynamicObject(
objects.Parallelogram(
geometry.Point{X: -1, Y: -1, Z: -2},
geometry.Point{X: -1, Y: 1, Z: -2},
geometry.Point{X: 1, Y: -1, Z: -2},
textures.OpaqueDynamicTexture(
textures.DynamicFromAnimatedTexture(
textures.GetAniTextureFromSampler(
sampler.Sigmoid{
Sampler: sampler.Wiggle{
Sampler: sampler.Rotated{
Sampler: sampler.SineWave{
Factor: 150,
},
Angle: math.Pi / 2,
},
NWiggles: 4,
Angle: math.Pi / 50,
},
Ratio: 5,
},
colors.SimpleGradient{Start: colors.White, End: colors.Black},
),
),
),
),
),
},
Background: scenes.BackgroundFromTexture(
textures.DynamicFromAnimatedTexture(
textures.GetAniTextureFromSampler(
sampler.Sigmoid{
Sampler: sampler.Wiggle{
Sampler: sampler.SineWave{
Factor: 400,
},
NWiggles: 4,
Angle: math.Pi / 50,
},
Ratio: 5,
},
colors.SimpleGradient{Start: colors.White, End: colors.Black},
),
),
),
}
CharMap = scenes.BackgroundScene(
scenes.BackgroundFromTexture(
textures.DynamicSubtexturer(
textures.GetSpecialMapper(colors.White, colors.Black, 0.2),
100,
sampler.Sigmoid{Sampler: sampler.NewPerlinNoise(), Ratio: 10},
),
),
)
MinecraftCube = scenes.DummyTextureSpinningCube(
textures.OpaqueDynamicTexture(
textures.DynamicSubtexturer(
textures.GetSpecialMapper(colors.White, colors.Black, 0.2),
8,
sampler.Sigmoid{Sampler: sampler.NewPerlinNoise(), Ratio: 5},
),
),
scenes.BackgroundFromTexture(
textures.DynamicSubtexturer(
textures.GetSpecialMapper(colors.White, colors.Black, 0.2),
32,
sampler.Sigmoid{Sampler: sampler.NewPerlinNoise(), Ratio: 5},
),
),
)
RoundedSquare = scenes.BackgroundScene(
scenes.BackgroundFromTexture(
textures.StaticTexture(
textures.RoundedSquare(
colors.White,
colors.Black,
0.9,
0.1,
),
),
),
)
MulticubeContracting = scenes.MulticubeDance(
colors.SimpleGradient{Start: colors.Black, End: colors.Red},
colors.SimpleGradient{Start: colors.Black, End: colors.Green},
colors.SimpleGradient{Start: colors.Black, End: colors.Blue},
scenes.BackgroundFromTexture(
textures.DynamicFromAnimatedTexture(
textures.GetAniTextureFromSampler(
sampler.SineWaveAnimation{
XYRatio: 0.1,
SigmoidRatio: 2,
SinCycles: 3,
},
colors.Subsample(colors.Grayscale, 0.4, 0.6),
),
),
),
)
SpinningMulticube = scenes.SpinningMulticube(
scenes.BackgroundFromTexture(
textures.DynamicFromAnimatedTexture(
textures.GetAniTextureFromSampler(
sampler.SineWaveAnimation{
XYRatio: 0.1,
SigmoidRatio: 2,
SinCycles: 3,
},
colors.Subsample(colors.Grayscale, 0.4, 0.6),
),
),
),
)
Checkckerboard = scenes.CheckerboardSquare(scenes.BackgroundFromTexture(textures.StaticTexture(textures.Uniform(colors.Blue))))
SpinningTriangle = scenes.SingleSpinningTriangle(scenes.BackgroundFromTexture(textures.StaticTexture(textures.Uniform(colors.Blue))))
SpinningHolyCube = scenes.SpinningIndividualMulticubeWithHoles(scenes.BackgroundFromTexture(textures.StaticTexture(textures.Uniform(colors.Blue))))
// TODO: fix
HeightMap = scenes.HeightMap(blackBackground)
SpinningTriangleWithHole = scenes.CheckerboardSquareWithRoundHole(
scenes.BackgroundFromTexture(
textures.DynamicFromAnimatedTexture(
textures.GetAniTextureFromSampler(
sampler.SineWaveAnimation{
XYRatio: 0.1,
SigmoidRatio: 2,
SinCycles: 3,
},
colors.Subsample(colors.Grayscale, 0.4, 0.6),
),
),
),
)
Noise = scenes.NoiseTest()
SquaresAlongPath = scenes.SquaresAlongPath(blackBackground)
SquaresAlongPathWithCamera = scenes.CameraThroughSquaresAlongPath(blackBackground)
ThreeSpheres = scenes.ThreeSpheres(blackBackground)
NineSpheres = scenes.NineSpheres(blackBackground)
OneBigSphere = scenes.OneBigSphere(blackBackground)
CameraWithAxisTriangles = scenes.CameraWithAxisTriangles(blackBackground)
// Perlin = scenes.NewPerlinNoise(color.Grayscale)
PerlinColors = scenes.PerlinColors()
ColorRotation = scenes.ColorRotation()
HeightMapCross = scenes.HeightMapCross(blackBackground)
ShuffledColorRotation = scenes.ShuffledColorRotation()
FourColorSquares = scenes.FourColorSquares()
VerticalLineConcentricCircles = scenes.VerticalLineConcentricCircles()
VerticalWiggler = scenes.VerticalWiggler()
ShuffledConcentricCircles = scenes.ShuffledConcentricCircles()
ConcentricCircles = scenes.ConcentricCircles()
IntegratedSpinners = scenes.IntegratedSpinners()
IntegratedCrossColors = scenes.IntegratedCrossColors()
)