aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2025-03-24 21:31:31 +0000
committers-ol <s+removethis@s-ol.nu>2025-03-24 21:31:31 +0000
commit3b1f59cc8328bd7c24ee5ae2d29a13fe1f6758d7 (patch)
treefa7695ea8a22de5717895c7509c26569538869fb /examples
parentrelease 0.1.0 (diff)
downloadlua-texture-share-vk-3b1f59cc8328bd7c24ee5ae2d29a13fe1f6758d7.tar.gz
lua-texture-share-vk-3b1f59cc8328bd7c24ee5ae2d29a13fe1f6758d7.zip
support receiving canvas
Diffstat (limited to 'examples')
-rw-r--r--examples/recv/main.lua17
l---------examples/recv/texture-share-vk.lua1
-rw-r--r--examples/send/main.lua32
l---------examples/send/texture-share-vk.lua1
4 files changed, 51 insertions, 0 deletions
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