Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SCREEN _NEWIMAGE(640, 480, 32)
- DIM c(32, 24) AS SINGLE
- FOR x = 0 TO 31
- FOR y = 0 TO 23
- c(x, y) = RND
- NEXT
- NEXT
- m = 20: m1 = m - 1
- 'nearest neighbour
- FOR x = 0 TO 639: ix = x \ m
- FOR y = 0 TO 479: iy = y \ m
- i = c(ix, iy) * 255
- PSET (x, y), _RGB(i, i, 255 - i)
- NEXT
- NEXT
- SLEEP
- 'bilinear
- FOR x = 0 TO 639: ix = x \ m: rx = x / m - ix: ix1 = (ix + 1) MOD 32: rx1 = 1 - rx
- FOR y = 0 TO 479: iy = y \ m: ry = y / m - iy: iy1 = (iy + 1) MOD 24: ry1 = 1 - ry
- c00 = c(ix, iy) * 255
- c10 = c(ix1, iy) * 255
- c01 = c(ix, iy1) * 255
- c11 = c(ix1, iy1) * 255
- i = (c00 * rx1 + c10 * rx) * ry1 + (c01 * rx1 + c11 * rx) * ry
- PSET (x, y), _RGB(i, i, 255 - i)
- NEXT
- NEXT
- SLEEP
- 'cosine
- FOR x = 0 TO 639: ix = x \ m: rx = cs(x / m - ix): ix1 = (ix + 1) MOD 32: rx1 = 1 - rx
- FOR y = 0 TO 479: iy = y \ m: ry = cs(y / m - iy): iy1 = (iy + 1) MOD 24: ry1 = 1 - ry
- c00 = c(ix, iy) * 255
- c10 = c(ix1, iy) * 255
- c01 = c(ix, iy1) * 255
- c11 = c(ix1, iy1) * 255
- i = (c00 * rx1 + c10 * rx) * ry1 + (c01 * rx1 + c11 * rx) * ry
- PSET (x, y), _RGB(i, i, 255 - i)
- NEXT
- NEXT
- SLEEP
- 'smoothstep
- FOR x = 0 TO 639: ix = x \ m: rx = sm(x / m - ix): ix1 = (ix + 1) MOD 32: rx1 = 1 - rx
- FOR y = 0 TO 479: iy = y \ m: ry = sm(y / m - iy): iy1 = (iy + 1) MOD 24: ry1 = 1 - ry
- c00 = c(ix, iy) * 255
- c10 = c(ix1, iy) * 255
- c01 = c(ix, iy1) * 255
- c11 = c(ix1, iy1) * 255
- i = (c00 * rx1 + c10 * rx) * ry1 + (c01 * rx1 + c11 * rx) * ry
- PSET (x, y), _RGB(i, i, 255 - i)
- NEXT
- NEXT
- SLEEP
- 'the smoothstep function
- FUNCTION sm (t)
- sm = t * t * (3 - 2 * t)
- END FUNCTION
- ' the "cosine" function
- FUNCTION cs (t)
- cs = SIN(t * 1.5707963): cs = cs * cs
- END FUNCTION
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement