.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_gallery/validation/validate_outpass.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr__gallery_validation_validate_outpass.py: Validate OutPass ================ Validate the different filters for the output pass, (i.e. flush). .. GENERATED FROM PYTHON SOURCE LINES 7-122 .. image-sg:: /_gallery/validation/images/sphx_glr_validate_outpass_001.webp :alt: validate outpass :srcset: /_gallery/validation/images/sphx_glr_validate_outpass_001.webp :class: sphx-glr-single-img .. code-block:: Python from rendercanvas.auto import RenderCanvas, loop import pygfx as gfx import pylinalg as la # Setting up the outer scene that shows the same scene multiple, with different ppaa n = 4 canvas = RenderCanvas(size=(500 * n, 500)) renderer = gfx.renderers.WgpuRenderer(canvas) textures = [] meshes = [] for i in range(n): tex = gfx.Texture(dim=2, size=(500, 500, 1), format="4xu1") mesh = gfx.Mesh( gfx.plane_geometry(), gfx.MeshBasicMaterial(map=gfx.TextureMap(tex, filter="nearest")), ) mesh.local.position = (0.5 + i, 0.5, 0) textures.append(tex) meshes.append(mesh) scene0 = gfx.Scene().add(*meshes) camera0 = gfx.OrthographicCamera() camera0.show_rect(0, n, 0, 1) # Setup the different renderers renderers = [ gfx.renderers.WgpuRenderer(textures[0], pixel_ratio=0.2, pixel_filter="nearest"), gfx.renderers.WgpuRenderer(textures[1], pixel_ratio=0.2, pixel_filter="disk"), gfx.renderers.WgpuRenderer(textures[2], pixel_ratio=0.2, pixel_filter="bspline"), gfx.renderers.WgpuRenderer(textures[3], pixel_ratio=0.2, pixel_filter="mitchell"), ] # Setup the actual scene that gets rendered multiple times scene = gfx.Scene() scene.add(gfx.Background.from_color("#000")) points = gfx.Points( gfx.Geometry(positions=[[0, 0, -1]]), gfx.PointsMaterial(color="#fff", size=95, aa=False, size_space="model"), ) scene.add(points) mesh1 = gfx.Mesh( gfx.plane_geometry(50, 2), gfx.MeshBasicMaterial(color="#00a"), ) mesh1.local.position = 0, 10, 0 mesh1.local.rotation = la.quat_from_vecs((0, 100, 0), (4, 100, 0)) scene.add(mesh1) mesh2 = gfx.Mesh( gfx.plane_geometry(50, 2), gfx.MeshBasicMaterial(color="#00a"), ) mesh2.local.position = 10, 20, 0 mesh2.local.rotation = la.quat_from_vecs((0, 100, 0), (100, 100, 0)) scene.add(mesh2) mesh3 = gfx.Mesh( gfx.plane_geometry(50, 2), gfx.MeshBasicMaterial(color="#00a"), ) mesh3.local.position = -20, 20, 0 mesh3.local.rotation = la.quat_from_vecs((0, 100, 0), (-200, 100, 0)) scene.add(mesh3) positions = [[-30, -32, 0], [30, -30, 0], [0, 0, 0], [-15, -30, 0]] line = gfx.Line( gfx.Geometry(positions=positions), gfx.LineMaterial(color="#000", thickness=2, aa=False), ) scene.add(line) text = gfx.Text( material=gfx.TextMaterial( color="#080", aa=True, ), text="Hello", font_size=10, screen_space=False, ) text.local.position = -25, -15, 0 scene.add(text) camera = gfx.OrthographicCamera() camera.show_rect(-50, 50, -50, 50) controller = gfx.PanZoomController(camera, register_events=renderer) @canvas.request_draw def animate(): # Render the scene with different renderers for sub_renderer in renderers: sub_renderer.render(scene, camera) # Render resulting textures to the canvas renderer.render(scene0, camera0) if __name__ == "__main__": print(__doc__) loop.run() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.930 seconds) .. _sphx_glr_download__gallery_validation_validate_outpass.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: validate_outpass.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: validate_outpass.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: validate_outpass.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_ .. only:: html Interactive example ------------------- Try this example in your browser using Pyodide. Might not work with all examples and all devices. Check the output and your browser's console for details. .. raw:: html