From 66ffc532b2b7f476ee1e3e6a76aaf66f30194ee1 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Thu, 28 Sep 2023 17:05:34 -0400 Subject: calibrate: WIP: Port to Vulkan. It kind of works but is unreliable (might just be general calibration problems, though). --- virtual-programs/images.folk | 6 +++++- virtual-programs/tags-and-calibration.folk | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'virtual-programs') diff --git a/virtual-programs/images.folk b/virtual-programs/images.folk index ae793bc8..5523e0a0 100644 --- a/virtual-programs/images.folk +++ b/virtual-programs/images.folk @@ -35,7 +35,11 @@ namespace eval ::image { defineImageType $cc $cc include $cc include - $cc import ::Heap::cc folkHeapAlloc as folkHeapAlloc + if {[namespace exists ::Heap]} { + $cc import ::Heap::cc folkHeapAlloc as folkHeapAlloc + } else { + $cc code { #define folkHeapAlloc malloc } + } $cc code { #undef EXTERN diff --git a/virtual-programs/tags-and-calibration.folk b/virtual-programs/tags-and-calibration.folk index b219b541..8bfa067c 100644 --- a/virtual-programs/tags-and-calibration.folk +++ b/virtual-programs/tags-and-calibration.folk @@ -33,6 +33,10 @@ When camera /camera/ has width /cameraWidth/ height /cameraHeight/ { [expr {double($dy)/$generatedCalibration::displayHeight*$Display::HEIGHT}]] } } + if {[llength $points] < 4} { + puts stderr "tags-and-calibration: Calibration isn't valid (not enough points). Stopping Folk." + exit 1 + } for {set i 0} {$i < [llength $points]} {incr i} { lassign [lindex $points $i] x$i y$i u$i v$i } -- cgit v1.2.3