00.screen-ports-currently.lua
· 2.1 KiB · Lua
Orginalformat
Playground
return function(lvera)
local screen = love.graphics.newCanvas()
lvera:add_port({"@set resolution"}, function(counters)
love.window.setMode(counters["@resolution x"], counters["@resolution y"])
screen = resize(old_screen)
counters["@resolution x"] = 0
counters["@resolution y"] = 0
counters["@set resolution"] = 0
end)
local point = {{0, 0, 0, 0, 0, 1}}
lvera:add_port({"@set pixel"}, function(counters)
point[1][1] = counters["@pixel x"]
point[1][2] = counters["@pixel y"]
point[1][3] = (counters["@pixel r"] % 256) / 255
point[1][4] = (counters["@pixel g"] % 256) / 255
point[1][5] = (counters["@pixel b"] % 256) / 255
love.graphics.setCanvas(screen)
love.graphics.points(point)
love.graphics.setCanvas()
counters["@pixel x"] = 0
counters["@pixel y"] = 0
counters["@pixel r"] = 0
counters["@pixel g"] = 0
counters["@pixel b"] = 0
counters["@set pixel"] = 0
end)
lvera:add_port({"@draw line"}, function(counters)
local old_r, old_g, old_b, old_a = love.graphics.getColor()
local r, g, b = (counters["@pixel r"] % 256) / 255, (counters["@pixel g"] % 256) / 255, (counters["@pixel b"] % 256) / 255
love.graphics.setCanvas(screen)
love.graphics.setColor(r, g, b)
love.graphics.setLineWidth(3)
love.graphics.line(counters["@line x1"], counters["@line y1"], counters["@line x2"], counters["@line y2"])
love.graphics.setColor(old_r, old_g, old_b, old_a)
love.graphics.setCanvas()
counters["@draw line"] = 0
counters["@pixel r"] = 0
counters["@pixel g"] = 0
counters["@pixel b"] = 0
counters["@line x1"] = 0
counters["@line y1"] = 0
counters["@line x2"] = 0
counters["@line y2"] = 0
counters["@line-width"] = 0
end)
lvera:add_port({"@display"}, function(counters)
love.graphics.origin()
love.graphics.clear(love.graphics.getBackgroundColor())
love.graphics.draw(screen, 0, 0)
love.graphics.present()
counters["@display"] = 0
end)
end
1 | return function(lvera) |
2 | |
3 | local screen = love.graphics.newCanvas() |
4 | lvera:add_port({"@set resolution"}, function(counters) |
5 | love.window.setMode(counters["@resolution x"], counters["@resolution y"]) |
6 | screen = resize(old_screen) |
7 | counters["@resolution x"] = 0 |
8 | counters["@resolution y"] = 0 |
9 | counters["@set resolution"] = 0 |
10 | end) |
11 | |
12 | local point = {{0, 0, 0, 0, 0, 1}} |
13 | lvera:add_port({"@set pixel"}, function(counters) |
14 | point[1][1] = counters["@pixel x"] |
15 | point[1][2] = counters["@pixel y"] |
16 | point[1][3] = (counters["@pixel r"] % 256) / 255 |
17 | point[1][4] = (counters["@pixel g"] % 256) / 255 |
18 | point[1][5] = (counters["@pixel b"] % 256) / 255 |
19 | love.graphics.setCanvas(screen) |
20 | love.graphics.points(point) |
21 | love.graphics.setCanvas() |
22 | counters["@pixel x"] = 0 |
23 | counters["@pixel y"] = 0 |
24 | counters["@pixel r"] = 0 |
25 | counters["@pixel g"] = 0 |
26 | counters["@pixel b"] = 0 |
27 | counters["@set pixel"] = 0 |
28 | end) |
29 | |
30 | lvera:add_port({"@draw line"}, function(counters) |
31 | local old_r, old_g, old_b, old_a = love.graphics.getColor() |
32 | local r, g, b = (counters["@pixel r"] % 256) / 255, (counters["@pixel g"] % 256) / 255, (counters["@pixel b"] % 256) / 255 |
33 | love.graphics.setCanvas(screen) |
34 | love.graphics.setColor(r, g, b) |
35 | love.graphics.setLineWidth(3) |
36 | love.graphics.line(counters["@line x1"], counters["@line y1"], counters["@line x2"], counters["@line y2"]) |
37 | love.graphics.setColor(old_r, old_g, old_b, old_a) |
38 | love.graphics.setCanvas() |
39 | counters["@draw line"] = 0 |
40 | counters["@pixel r"] = 0 |
41 | counters["@pixel g"] = 0 |
42 | counters["@pixel b"] = 0 |
43 | counters["@line x1"] = 0 |
44 | counters["@line y1"] = 0 |
45 | counters["@line x2"] = 0 |
46 | counters["@line y2"] = 0 |
47 | counters["@line-width"] = 0 |
48 | end) |
49 | |
50 | lvera:add_port({"@display"}, function(counters) |
51 | love.graphics.origin() |
52 | love.graphics.clear(love.graphics.getBackgroundColor()) |
53 | love.graphics.draw(screen, 0, 0) |
54 | love.graphics.present() |
55 | counters["@display"] = 0 |
56 | end) |
57 | end |
01.screen-ports-goal.lua
· 1.4 KiB · Lua
Orginalformat
Playground
return function(lvera)
local screen = love.graphics.newCanvas()
function lvera.set_resolution(counters, resolution_x, resolution_y)
love.window.setMode(resolution_x, resolution_y)
screen = resize(old_screen)
end
local point = {{0, 0, 0, 0, 0, 1}}
function lvera.set_pixel(counters, pixel_x, pixel_y, pixel_r, pixel_g, pixel_b)
point[1][1] = pixel_x
point[1][2] = pixel_y
point[1][3] = (pixel_r % 256) / 255
point[1][4] = (pixel_g % 256) / 255
point[1][5] = (pixel_b % 256) / 255
love.graphics.setCanvas(screen)
love.graphics.points(point)
love.graphics.setCanvas()
end
function lvera.draw_line(counters, line_x1, line_y1, line_x2, line_y2, pixel_r, pixel_g, pixel_b)
local old_r, old_g, old_b, old_a = love.graphics.getColor()
local r, g, b = (pixel_r % 256) / 255, (pixel_g % 256) / 255, (pixel_b % 256) / 255
love.graphics.setCanvas(screen)
love.graphics.setColor(r, g, b)
love.graphics.setLineWidth(3)
love.graphics.line(line_x1, line_y1, line_x2, line_y2)
love.graphics.setColor(old_r, old_g, old_b, old_a)
love.graphics.setCanvas()
end
function lvera.display(counters)
love.graphics.origin()
love.graphics.clear(love.graphics.getBackgroundColor())
love.graphics.draw(screen, 0, 0)
love.graphics.present()
end
end
1 | return function(lvera) |
2 | local screen = love.graphics.newCanvas() |
3 | function lvera.set_resolution(counters, resolution_x, resolution_y) |
4 | love.window.setMode(resolution_x, resolution_y) |
5 | screen = resize(old_screen) |
6 | end |
7 | |
8 | local point = {{0, 0, 0, 0, 0, 1}} |
9 | function lvera.set_pixel(counters, pixel_x, pixel_y, pixel_r, pixel_g, pixel_b) |
10 | point[1][1] = pixel_x |
11 | point[1][2] = pixel_y |
12 | point[1][3] = (pixel_r % 256) / 255 |
13 | point[1][4] = (pixel_g % 256) / 255 |
14 | point[1][5] = (pixel_b % 256) / 255 |
15 | love.graphics.setCanvas(screen) |
16 | love.graphics.points(point) |
17 | love.graphics.setCanvas() |
18 | end |
19 | |
20 | function lvera.draw_line(counters, line_x1, line_y1, line_x2, line_y2, pixel_r, pixel_g, pixel_b) |
21 | local old_r, old_g, old_b, old_a = love.graphics.getColor() |
22 | local r, g, b = (pixel_r % 256) / 255, (pixel_g % 256) / 255, (pixel_b % 256) / 255 |
23 | love.graphics.setCanvas(screen) |
24 | love.graphics.setColor(r, g, b) |
25 | love.graphics.setLineWidth(3) |
26 | love.graphics.line(line_x1, line_y1, line_x2, line_y2) |
27 | love.graphics.setColor(old_r, old_g, old_b, old_a) |
28 | love.graphics.setCanvas() |
29 | end |
30 | |
31 | |
32 | function lvera.display(counters) |
33 | love.graphics.origin() |
34 | love.graphics.clear(love.graphics.getBackgroundColor()) |
35 | love.graphics.draw(screen, 0, 0) |
36 | love.graphics.present() |
37 | end |
38 | end |