Colour - Visuals
Colour - Visuals is a Python package implementing various WebGPU-based visuals on top of pygfx for colour science applications.
Features
Most of the objects are available from the colour_visuals
namespace:
API
The main technical reference for Colour - Visuals is the API Reference.
import colour_visuals import numpy as np import pygfx as gfx from wgpu.gui.auto import WgpuCanvas, run canvas = WgpuCanvas(size=(960, 540)) renderer = gfx.renderers.WgpuRenderer(canvas) camera = gfx.PerspectiveCamera(50, 16 / 9) controller = gfx.OrbitController(camera) controller.register_events(renderer) scene = gfx.Scene() scene.add(gfx.Background(None, gfx.BackgroundMaterial(np.array([0.18, 0.18, 0.18])))) visuals = [ colour_visuals.VisualGrid(size=2), colour_visuals.VisualChromaticityDiagramCIE1931( kwargs_visual_chromaticity_diagram={"opacity": 0.25} ), colour_visuals.VisualRGBColourspace2D("ACEScg"), colour_visuals.VisualRGBColourspace2D( "Display P3", colours=np.array([0.5, 0.5, 0.5]) ), colour_visuals.VisualRGBColourspace3D("Display P3", opacity=0.5, wireframe=True), colour_visuals.VisualRGBScatter3D(np.random.random([24, 32, 3]), "ACEScg"), ] group = gfx.Group() for visual in visuals: group.add(visual) scene.add(group) camera.local.position = np.array([-0.25, -0.5, 2]) camera.show_pos(np.array([1 / 3, 1 / 3, 0.4])) canvas.request_draw(lambda: renderer.render(scene, camera)) run()