Note
Go to the end to download the full example code.
Post processing effects 1
Example post-processing effects, showing builtin effects.

import imageio.v3 as iio
from rendercanvas.auto import RenderCanvas, loop
import pygfx as gfx
from pygfx.renderers.wgpu import NoisePass, FogPass, DDAAPass
canvas = RenderCanvas(update_mode="continuous")
renderer = gfx.renderers.WgpuRenderer(canvas)
# Add a noise-pass and a fog-pass, and add the aa pass that the renderer adds by default
renderer.effect_passes = [NoisePass(0.5), FogPass("#fff"), DDAAPass()]
scene = gfx.Scene()
im = iio.imread("imageio:bricks.jpg")
tex = gfx.Texture(im, dim=2)
geometry = gfx.torus_knot_geometry(1, 0.3, 128, 32)
geometry.texcoords.data[:, 0] *= 10 # stretch the texture
obj = gfx.Mesh(
geometry,
gfx.MeshPhongMaterial(map=tex),
)
scene.add(obj)
camera = gfx.OrthographicCamera(depth_range=(-2, 2))
camera.show_object(scene)
scene.add(gfx.AmbientLight(), camera.add(gfx.DirectionalLight()))
controller = gfx.TrackballController(camera, register_events=renderer)
if __name__ == "__main__":
canvas.request_draw(lambda: renderer.render(scene, camera))
loop.run()
Total running time of the script: (0 minutes 0.401 seconds)
Gallery generated by Sphinx-Gallery
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.