Ultima attività 1730228459

Revisione c4172c822d467e928dc6326a90954a755597f2f0

rgb.nv Raw Playground
1|--| Constants.
2|x:128|x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,
3 x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,
4 x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,
5 x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x
6|y:128|y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,
7 y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,
8 y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,
9 y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y
10|pr=x:128|pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
11 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
12 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
13 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
14 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
15 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
16 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
17 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
18 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
19 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
20 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
21 pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x
22|pg=y:128|pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
23 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
24 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
25 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
26 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
27 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
28 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
29 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
30 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
31 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
32 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
33 pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y
34|pb=x+y:128|pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
35 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
36 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
37 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
38 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
39 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
40 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
41 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
42 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
43 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
44 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
45 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
46 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
47 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
48 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
49 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
50 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
51 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
52 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
53 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
54 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
55 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
56 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
57 pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y
58|px=x:128|px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
59 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
60 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
61 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
62 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
63 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
64 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
65 px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x
66|py=y:128|py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
67 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
68 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
69 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
70 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
71 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
72 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
73 py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y
74
75|--| Are we at the end of a line?
76|eol?,x|x,~eol|eol?|eol
77
78|--| Are we at the end of the screen?
79|eos?,y|y,~eos|eos?|eos
80
81|--| Copy the pixel coordinates from `x/y` to `@pixel-x/@pixel-y`.
82|px=x,x|*x,@pixel-x,px=x
83|px=x|
84|py=y,y|*y,@pixel-y,py=y
85|py=y|
86
87|--| Compute some pixel colors based on the `x/y` coordinates.
88|--| r = x, g = y, b = x + y
89|pr=x,x|*x,@pixel-r,pr=x|pr=x|
90|pg=y,y|*y,@pixel-g,pg=y|pg=y|
91|pb=x+y,x|*x,@pixel-b,pb=x+y
92|pb=x+y,y|*y,@pixel-b,pb=x+y
93|pb=x+y|
94
95|--| Copy temporaries back to their respective variables.
96|*x|x|*y|y
97
98|--| Plot a pixel.
99|pp|px,py,pr,pg,pb,ps
100|px|px=x:128
101|py|py=y:128
102|pr|pr=x:128
103|pg|pg=y:128
104|pb|pb=x+y:128
105|ps|@set-pixel
106
107|--| Move the `x/y` coordinates.
108|x-,x||x-||y-,y||y-|
109
110|--| Clear the previous color values before computing a new color.
111|@pixel-r||@pixel-g||@pixel-b|
112
113|--| Main loop.
114||x:128,y:128
115|f,eol,x|f,eol,f
116|f,eol|f,eos?
117|f,~eol|pp,x-,f
118|f,eos|pp,x:128,y:128
119|f,~eos,x|f,~eos
120|f,~eos|y-,x:128,f
121|f|eol?,f
122||f