From 3b1f59cc8328bd7c24ee5ae2d29a13fe1f6758d7 Mon Sep 17 00:00:00 2001 From: s-ol Date: Mon, 24 Mar 2025 22:31:31 +0100 Subject: support receiving canvas --- examples/recv/main.lua | 17 +++++++++++++++++ examples/recv/texture-share-vk.lua | 1 + examples/send/main.lua | 32 ++++++++++++++++++++++++++++++++ examples/send/texture-share-vk.lua | 1 + 4 files changed, 51 insertions(+) create mode 100644 examples/recv/main.lua create mode 120000 examples/recv/texture-share-vk.lua create mode 100644 examples/send/main.lua create mode 120000 examples/send/texture-share-vk.lua (limited to 'examples') diff --git a/examples/recv/main.lua b/examples/recv/main.lua new file mode 100644 index 0000000..c9ebd30 --- /dev/null +++ b/examples/recv/main.lua @@ -0,0 +1,17 @@ +local tvs = require 'texture-share-vk' +local client, shared + +function love.load() + client = tvs.new() + shared = client:loadSharedCanvas("love2d") + + print(shared:getDimensions()) -- NOTE: delegated to LÖVE Canvas +end + +function love.draw() + shared:recv() + + love.graphics.reset() + love.graphics.setBlendMode("alpha", "premultiplied") + love.graphics.draw(shared.canvas) -- NOTE: different from normal canvas +end diff --git a/examples/recv/texture-share-vk.lua b/examples/recv/texture-share-vk.lua new file mode 120000 index 0000000..78b332b --- /dev/null +++ b/examples/recv/texture-share-vk.lua @@ -0,0 +1 @@ +../../texture-share-vk.lua \ No newline at end of file diff --git a/examples/send/main.lua b/examples/send/main.lua new file mode 100644 index 0000000..4788361 --- /dev/null +++ b/examples/send/main.lua @@ -0,0 +1,32 @@ +local tvs = require 'texture-share-vk' +local client, shared + +function love.load() + client = tvs.new() + shared = client:newSharedCanvas("love2d", love.graphics.getDimensions()) + + print(shared:getDimensions()) -- NOTE: delegated to LÖVE Canvas +end + +local angle = 0 + +function love.update(dt) + angle = angle + 5 * dt +end + +function love.draw() + local width, height = love.graphics.getDimensions() + love.graphics.setCanvas(shared.canvas) -- NOTE: different from normal canvas + love.graphics.clear(0, 0, 0, 0) + love.graphics.translate(width/2, height/2) + love.graphics.rotate(angle) + + love.graphics.setColor(1, 0, 0, 1) + love.graphics.rectangle("fill", -150,-150, 300,300) + love.graphics.setCanvas() + shared:send() + + love.graphics.reset() + love.graphics.setBlendMode("alpha", "premultiplied") + love.graphics.draw(shared.canvas) -- NOTE: different from normal canvas +end diff --git a/examples/send/texture-share-vk.lua b/examples/send/texture-share-vk.lua new file mode 120000 index 0000000..78b332b --- /dev/null +++ b/examples/send/texture-share-vk.lua @@ -0,0 +1 @@ +../../texture-share-vk.lua \ No newline at end of file -- cgit v1.2.3