From e4246254fc9472b6b0317141a464c235b38cb592 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michel=20D=C3=A4nzer?= Date: Thu, 24 Feb 2011 09:20:52 -0800 Subject: [PATCH] Use call number instead of frame number for snapshot filenames. This will allow changing the granularity of taking snapshots while preserving the comparability of snapshots from different runs. --- glretrace_main.cpp | 17 ++++++++--------- scripts/snapdiff.py | 14 ++++++++------ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/glretrace_main.cpp b/glretrace_main.cpp index 52619dd..d0fb578 100644 --- a/glretrace_main.cpp +++ b/glretrace_main.cpp @@ -111,14 +111,14 @@ static void snapshot(Image::Image &image) { } -static void frame_complete(void) { +static void frame_complete(unsigned call_no) { ++frame; if (snapshot_prefix || compare_prefix) { Image::Image *ref = NULL; if (compare_prefix) { char filename[PATH_MAX]; - snprintf(filename, sizeof filename, "%s%04u.png", compare_prefix, frame); + snprintf(filename, sizeof filename, "%s%010u.png", compare_prefix, call_no); ref = Image::readPNG(filename); if (!ref) { return; @@ -132,19 +132,18 @@ static void frame_complete(void) { if (snapshot_prefix) { char filename[PATH_MAX]; - snprintf(filename, sizeof filename, "%s%04u.png", snapshot_prefix, frame); + snprintf(filename, sizeof filename, "%s%010u.png", snapshot_prefix, call_no); if (src.writePNG(filename) && retrace::verbosity >= 0) { std::cout << "Wrote " << filename << "\n"; } } if (ref) { - std::cout << "Frame " << frame << " average precision of " << src.compare(*ref) << " bits\n"; + std::cout << "Snapshot " << call_no << " average precision of " << src.compare(*ref) << " bits\n"; delete ref; } } - - ws->processEvents(); + } @@ -163,7 +162,7 @@ static void display(void) { std::cout << *call; std::cout.flush(); }; - frame_complete(); + frame_complete(call->no); if (double_buffer) drawable->swapBuffers(); else @@ -172,7 +171,7 @@ static void display(void) { name == "wglMakeCurrent") { glFlush(); if (!double_buffer) { - frame_complete(); + frame_complete(call->no); } } else { continue; @@ -182,7 +181,7 @@ static void display(void) { if (name == "glFlush") { glFlush(); if (!double_buffer) { - frame_complete(); + frame_complete(call->no); } } diff --git a/scripts/snapdiff.py b/scripts/snapdiff.py index 129aded..d99a4ac 100755 --- a/scripts/snapdiff.py +++ b/scripts/snapdiff.py @@ -67,11 +67,11 @@ def main(): help="output filename [stdout]") optparser.add_option( '--start', metavar='FRAME', - type="int", dest="start", default=1, + type="int", dest="start", default=0, help="start frame [default: %default]") optparser.add_option( '--stop', metavar='FRAME', - type="int", dest="stop", default=9999, + type="int", dest="stop", default=0xffffffff, help="stop frame [default: %default]") optparser.add_option( '-f', '--fuzz', @@ -94,10 +94,11 @@ def main(): html.write(' \n') html.write(' \n') html.write(' \n') - for frame_no in range(options.start, options.stop + 1): - ref_image = "%s%04u.png" % (ref_prefix, frame_no) - src_image = "%s%04u.png" % (src_prefix, frame_no) - delta_image = "%s%04u_diff.png" % (src_prefix, frame_no) + frame_no = options.start + while frame_no <= options.stop: + ref_image = "%s%010u.png" % (ref_prefix, frame_no) + src_image = "%s%010u.png" % (src_prefix, frame_no) + delta_image = "%s%010u_diff.png" % (src_prefix, frame_no) if os.path.exists(ref_image) and os.path.exists(src_image): html.write(' \n') subprocess.call(["compare", '-metric', 'AE', '-fuzz', options.fuzz, ref_image, src_image, delta_image]) @@ -106,6 +107,7 @@ def main(): surface(html, delta_image) html.write(' \n') html.flush() + frame_no += 1 html.write('
refsrcΔ
\n') html.write(' \n') html.write('\n') -- 2.43.0