Skip to content

Commit ecb43eb

Browse files
committed
update examples
1 parent 6b77f99 commit ecb43eb

19 files changed

+61
-75
lines changed

examples/cube.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import wgpu
1616
import numpy as np
1717

18-
from wgpu.gui.auto import WgpuCanvas, run
18+
from rendercanvas.auto import RenderCanvas, loop
1919

2020

2121
# %% Entrypoints (sync and async)
@@ -459,7 +459,7 @@ async def draw_frame_async():
459459
for a in wgpu.gpu.enumerate_adapters_sync():
460460
print(a.summary)
461461

462-
canvas = WgpuCanvas(size=(640, 480), title="wgpu cube example")
462+
canvas = RenderCanvas(size=(640, 480), title="wgpu cube example")
463463

464464
draw_frame = setup_drawing_sync(canvas)
465465

@@ -472,4 +472,4 @@ def animate():
472472
canvas.request_draw(animate)
473473

474474
if __name__ == "__main__":
475-
run()
475+
loop.run()

examples/gui_auto.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
# test_example = true
66

7-
from wgpu.gui.auto import WgpuCanvas, run
7+
from rendercanvas.auto import RenderCanvas, loop
88

99
try:
1010
from .triangle import setup_drawing_sync
1111
except ImportError:
1212
from triangle import setup_drawing_sync
1313

14-
canvas = WgpuCanvas(title=f"Triangle example on {WgpuCanvas.__name__}")
14+
canvas = RenderCanvas(title=f"Triangle example on {RenderCanvas.__name__}")
1515
draw_frame = setup_drawing_sync(canvas)
1616

1717

@@ -22,4 +22,4 @@ def animate():
2222

2323

2424
if __name__ == "__main__":
25-
run()
25+
loop.run()

examples/gui_events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
A simple example to demonstrate events.
33
"""
44

5-
from wgpu.gui.auto import WgpuCanvas, run
5+
from rendercanvas.auto import RenderCanvas, loop
66

77

8-
canvas = WgpuCanvas(size=(640, 480), title="wgpu events")
8+
canvas = RenderCanvas(size=(640, 480), title="wgpu events")
99

1010

1111
@canvas.add_event_handler("*")
@@ -15,4 +15,4 @@ def process_event(event):
1515

1616

1717
if __name__ == "__main__":
18-
run()
18+
loop.run()

examples/gui_glfw.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
"""
2-
Run triangle/cube example in the glfw GUI backend.
2+
Run triangle/cube example in the glfw rendercanvas backend.
33
"""
44

55
# run_example = false
66

7-
from wgpu.gui.glfw import WgpuCanvas, run
7+
from rendercanvas.glfw import GlfwRenderCanvas, loop
88

99
from triangle import setup_drawing_sync
10-
# from cube import setup_drawing_sync
10+
# from cube import setup_drawing_sync #TODO: this variant spawns and additional window!
1111

1212

13-
canvas = WgpuCanvas(title=f"Triangle example on {WgpuCanvas.__name__}")
13+
canvas = GlfwRenderCanvas(title=f"Triangle example on {GlfwRenderCanvas.__name__}")
1414
draw_frame = setup_drawing_sync(canvas)
1515

1616

@@ -21,4 +21,4 @@ def animate():
2121

2222

2323
if __name__ == "__main__":
24-
run()
24+
loop.run()

examples/gui_qt.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@
1111
for lib in ("PySide6", "PyQt6", "PySide2", "PyQt5"):
1212
try:
1313
QtWidgets = importlib.import_module(".QtWidgets", lib)
14+
print(f"Using {lib} for Qt GUI")
1415
break
1516
except ModuleNotFoundError:
1617
pass
1718

1819

19-
from wgpu.gui.qt import WgpuCanvas # noqa: E402
20+
from rendercanvas.qt import RenderCanvas # noqa: E402
2021

2122
from triangle import setup_drawing_sync # noqa: E402
2223

2324

2425
app = QtWidgets.QApplication([])
25-
canvas = WgpuCanvas(title=f"Triangle example on {WgpuCanvas.__name__}")
26+
canvas = RenderCanvas(title=f"Triangle example on {RenderCanvas.__name__}")
2627

2728
draw_frame = setup_drawing_sync(canvas)
2829

examples/gui_qt_asyncio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import asyncio
1919

2020
from PySide6 import QtWidgets, QtAsyncio
21-
from wgpu.gui.qt import WgpuWidget
21+
from rendercanvas.qt import QRenderWidget
2222
from triangle import setup_drawing_sync
2323

2424

@@ -49,7 +49,7 @@ def __init__(self):
4949
splitter = QtWidgets.QSplitter()
5050

5151
self.button = QtWidgets.QPushButton("Hello world", self)
52-
self.canvas = WgpuWidget(splitter)
52+
self.canvas = QRenderWidget(splitter)
5353
self.output = QtWidgets.QTextEdit(splitter)
5454

5555
# self.button.clicked.connect(self.whenButtonClicked) # see above :(

examples/gui_qt_embed.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
except ModuleNotFoundError:
2121
pass
2222

23-
from wgpu.gui.qt import WgpuWidget # noqa: E402
23+
from rendercanvas.qt import QRenderWidget # noqa: E402
2424

2525

2626
class ExampleWidget(QtWidgets.QWidget):
@@ -32,7 +32,7 @@ def __init__(self):
3232
splitter = QtWidgets.QSplitter()
3333

3434
self.button = QtWidgets.QPushButton("Hello world", self)
35-
self.canvas = WgpuWidget(splitter)
35+
self.canvas = QRenderWidget(splitter)
3636
self.output = QtWidgets.QTextEdit(splitter)
3737

3838
self.button.clicked.connect(self.whenButtonClicked)

examples/gui_wx.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
# run_example = false
66

77
import wx
8-
from wgpu.gui.wx import WgpuCanvas
8+
from rendercanvas.wx import RenderCanvas
99

1010
from triangle import setup_drawing_sync
1111
# from cube import setup_drawing_sync
1212

1313

1414
app = wx.App()
15-
canvas = WgpuCanvas(title=f"Triangle example on {WgpuCanvas.__name__}")
15+
canvas = RenderCanvas(title=f"Triangle example on {RenderCanvas .__name__}")
1616

1717
draw_func = setup_drawing_sync(canvas)
1818
canvas.request_draw(draw_func)

examples/gui_wx_embed.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# run_example = false
66

77
import wx
8-
from wgpu.gui.wx import WgpuWidget
8+
from rendercanvas.wx import WxRenderWidget
99

1010
from triangle import setup_drawing_sync
1111

@@ -18,8 +18,8 @@ def __init__(self):
1818
splitter = wx.SplitterWindow(self)
1919

2020
self.button = wx.Button(self, -1, "Hello world")
21-
self.canvas1 = WgpuWidget(splitter)
22-
self.canvas2 = WgpuWidget(splitter)
21+
self.canvas1 = WxRenderWidget(splitter)
22+
self.canvas2 = WxRenderWidget(splitter)
2323

2424
splitter.SplitVertically(self.canvas1, self.canvas2)
2525
splitter.SetSashGravity(0.5)

examples/imgui_backend_sea.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
# run_example = false
55
"""
66

7-
from wgpu.gui.auto import WgpuCanvas, run
7+
from rendercanvas.auto import RenderCanvas, loop
88
import wgpu
99
import time
1010
import numpy as np
1111
from imgui_bundle import imgui
1212
from wgpu.utils.imgui import ImguiWgpuBackend
1313

1414
# Create a canvas to render to
15-
canvas = WgpuCanvas(title="imgui_sea", size=(800, 450), max_fps=60)
15+
canvas = RenderCanvas(title="imgui_sea", size=(800, 450), max_fps=60, update_mode="continuous")
1616

1717
# Create a wgpu device
1818
adapter = wgpu.gpu.request_adapter_sync(power_preference="high-performance")
@@ -410,11 +410,6 @@ def render():
410410
device.queue.submit([command_encoder.finish()])
411411

412412

413-
def loop():
414-
render()
415-
canvas.request_draw()
416-
417-
418413
if __name__ == "__main__":
419-
canvas.request_draw(loop)
420-
run()
414+
canvas.request_draw(render)
415+
loop.run()

examples/imgui_basic_example.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
import wgpu
88
import sys
99
from imgui_bundle import imgui, imgui_ctx
10-
from wgpu.gui.auto import WgpuCanvas, run
10+
from rendercanvas.auto import RenderCanvas, loop
1111
from wgpu.utils.imgui import ImguiRenderer
1212

1313

1414
# Create a canvas to render to
15-
canvas = WgpuCanvas(title="imgui", size=(640, 480))
15+
canvas = RenderCanvas(title="imgui", size=(640, 480), max_fps=60, update_mode="continuous")
1616

1717
# Create a wgpu device
1818
adapter = wgpu.gpu.request_adapter_sync(power_preference="high-performance")
@@ -75,11 +75,6 @@ def update_gui():
7575
imgui_renderer.set_gui(update_gui)
7676

7777

78-
def draw_frame():
79-
imgui_renderer.render()
80-
canvas.request_draw()
81-
82-
8378
if __name__ == "__main__":
84-
canvas.request_draw(draw_frame)
85-
run()
79+
canvas.request_draw(imgui_renderer.render)
80+
loop.run()

examples/imgui_cmap_picker.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717

1818
import wgpu
1919
from imgui_bundle import imgui
20-
from wgpu.gui.auto import WgpuCanvas, run
20+
from rendercanvas.auto import RenderCanvas, loop
2121
from wgpu.utils.imgui import ImguiRenderer
2222

2323
from cmap import Colormap
2424

2525
# Create a canvas to render to
26-
canvas = WgpuCanvas(title="imgui", size=(512, 256))
26+
canvas = RenderCanvas(title="imgui", size=(512, 256), max_fps=60, update_mode="continuous")
2727

2828
# Create a wgpu device
2929
adapter = wgpu.gpu.request_adapter_sync(power_preference="high-performance")
@@ -121,11 +121,6 @@ def update_gui():
121121
imgui_renderer.set_gui(update_gui)
122122

123123

124-
def draw_frame():
125-
imgui_renderer.render()
126-
canvas.request_draw()
127-
128-
129124
if __name__ == "__main__":
130-
canvas.request_draw(draw_frame)
131-
run()
125+
canvas.request_draw(imgui_renderer.render)
126+
loop.run()

examples/imgui_multi_canvas.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
import wgpu
88
from imgui_bundle import imgui
9-
from wgpu.gui.auto import WgpuCanvas, run
9+
from rendercanvas.auto import RenderCanvas, loop
1010
from wgpu.utils.imgui import ImguiRenderer
1111

1212
# Create a canvas to render to
13-
canvas1 = WgpuCanvas(title="imgui", size=(512, 256))
14-
canvas2 = WgpuCanvas(title="imgui", size=(512, 256))
15-
canvas3 = WgpuCanvas(title="imgui", size=(512, 256))
13+
canvas1 = RenderCanvas(title="imgui", size=(512, 256))
14+
canvas2 = RenderCanvas(title="imgui", size=(512, 256))
15+
canvas3 = RenderCanvas(title="imgui", size=(512, 256))
1616

1717
canvases = [canvas1, canvas2, canvas3]
1818

@@ -105,4 +105,4 @@ def draw3():
105105
canvas2.request_draw(draw2)
106106
canvas3.request_draw(draw3)
107107

108-
run()
108+
loop.run()

examples/imgui_renderer_sea.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
# run_example = false
66

7-
from wgpu.gui.auto import WgpuCanvas, run
7+
from rendercanvas.auto import RenderCanvas, loop
88
import wgpu
99
import time
1010
import numpy as np
1111
from imgui_bundle import imgui
1212
from wgpu.utils.imgui import ImguiRenderer, Stats
1313

1414
# Create a canvas to render to
15-
canvas = WgpuCanvas(title="imgui_sea", size=(800, 450), max_fps=-1, vsync=False)
15+
canvas = RenderCanvas(title="imgui_sea", size=(800, 450), max_fps=-1, vsync=False)
1616

1717
# Create a wgpu device
1818
adapter = wgpu.gpu.request_adapter_sync(power_preference="high-performance")
@@ -391,13 +391,13 @@ def render():
391391
stats.extra_data = stats_data
392392

393393

394-
def loop():
394+
def render_loop():
395395
with stats:
396396
render()
397397
imgui_renderer.render()
398398
canvas.request_draw()
399399

400400

401401
if __name__ == "__main__":
402-
canvas.request_draw(loop)
403-
run()
402+
canvas.request_draw(render_loop)
403+
loop.run()

examples/offscreen_hdr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import numpy as np
1414
import png # provided by the pypng package
1515

16-
# from rendercanvas.offscreen import RenderCanvas
17-
from wgpu.gui.offscreen import WgpuCanvas as RenderCanvas
16+
from rendercanvas.offscreen import RenderCanvas
17+
# from wgpu.gui.offscreen import WgpuCanvas as RenderCanvas
1818

1919
try:
2020
from .triangle import setup_drawing_sync

examples/tests/test_examples.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@
4242

4343
@pytest.fixture
4444
def force_offscreen():
45-
"""Force the offscreen canvas to be selected by the auto gui module."""
46-
os.environ["WGPU_FORCE_OFFSCREEN"] = "true"
45+
"""Force the offscreen canvas to be selected by the auto rendercanvas module."""
46+
os.environ["RENDERCANVAS_FORCE_OFFSCREEN"] = "true"
4747
try:
4848
yield
4949
finally:
50-
del os.environ["WGPU_FORCE_OFFSCREEN"]
50+
del os.environ["RENDERCANVAS_FORCE_OFFSCREEN"]
5151

5252

5353
@pytest.fixture
@@ -179,7 +179,7 @@ def test_examples_run(module, force_offscreen):
179179

180180
if __name__ == "__main__":
181181
# Enable tweaking in an IDE by running in an interactive session.
182-
os.environ["WGPU_FORCE_OFFSCREEN"] = "true"
182+
os.environ["RENDERCANVAS_FORCE_OFFSCREEN"] = "true"
183183
pytest.getoption = lambda x: False
184184
is_lavapipe = True
185185
test_examples_screenshots("validate_volume", pytest, None, None)

examples/triangle.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,9 @@ async def draw_frame_async():
167167

168168

169169
if __name__ == "__main__":
170-
from wgpu.gui.auto import WgpuCanvas, run
170+
from rendercanvas.auto import RenderCanvas, loop
171171

172-
canvas = WgpuCanvas(size=(640, 480), title="wgpu triangle example")
172+
canvas = RenderCanvas(size=(640, 480), title="wgpu triangle example")
173173
draw_frame = setup_drawing_sync(canvas)
174174
canvas.request_draw(draw_frame)
175-
run()
175+
loop.run()

0 commit comments

Comments
 (0)