From 02c79cc63c52c310aa1e96c7cac1f881055a2714 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 6 Sep 2018 09:24:23 -0400 Subject: render: scene: Add better printers for primitives, meshes, and scenes. * chickadee/render/scene.scm (display-primitive, display-mesh, display-scene-node): New procedures. --- chickadee/render/scene.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/chickadee/render/scene.scm b/chickadee/render/scene.scm index 279d4e6..8aa6f1f 100644 --- a/chickadee/render/scene.scm +++ b/chickadee/render/scene.scm @@ -149,6 +149,13 @@ (material primitive-material) (targets primitive-targets)) +(define (display-primitive primitive port) + (format port "#" + (primitive-material primitive) + (primitive-targets primitive))) + +(set-record-type-printer! display-primitive) + (define* (make-primitive #:key vertex-array (material default-material) @@ -162,6 +169,11 @@ (primitives mesh-primitives) (weights mesh-weights)) +(define (display-mesh mesh port) + (format port "#" (mesh-name mesh))) + +(set-record-type-printer! display-mesh) + (define* (make-mesh #:key (name "anonymous") primitives @@ -183,6 +195,11 @@ (translation scene-node-translation) (weights scene-node-weights)) +(define (display-scene-node scene port) + (format port "#" (scene-node-name scene))) + +(set-record-type-printer! display-scene-node) + (define* (make-scene-node #:key (name "anonymous") (children #()) -- cgit v1.2.3