[brlcad-commits] SF.net SVN: brlcad:[37303] brlcad/trunk/src/rt/view.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <irp...@us...> - 2010-01-19 17:42:18
|
Revision: 37303 http://brlcad.svn.sourceforge.net/brlcad/?rev=37303&view=rev Author: irpguardian Date: 2010-01-19 17:42:11 +0000 (Tue, 19 Jan 2010) Log Message: ----------- Timetable is now dynamically sized via malloc, instead of hard coded to have size 4096. Also, max and min times are now properly initialized. Modified Paths: -------------- brlcad/trunk/src/rt/view.c Modified: brlcad/trunk/src/rt/view.c =================================================================== --- brlcad/trunk/src/rt/view.c 2010-01-19 17:27:22 UTC (rev 37302) +++ brlcad/trunk/src/rt/view.c 2010-01-19 17:42:11 UTC (rev 37303) @@ -522,14 +522,21 @@ */ fastf_t *timeTable_init(void) { - /* for now, a 4096x4096 will be a theoretical maximum for a render - * size, which is pretty huge. Eventually it will be set to - * whatever the maximum size possible is. Filled initially with -1 - * in order to determine the actual 'size' of the inputed heat - * graph. + /* + * Time table will be initialized to the size of the current + * framebuffer by using a malloc. + * So first we need to get the size of the framebuffer + * (ap.a_x, a_y) and use that as the starting point. */ - - static fastf_t timeTable[4096][4096]={-1}; + static fastf_t **timeTable; + int x = ap.a_x; + int y = ap.a_y; + int i; + timeTable = malloc(x * sizeof(fastf_t *)); + for(i = 0; i < x; i++) + { + timeTable[i] = malloc(y * sizeof(fastf_t *)); + } bu_log("Initialized timetable\n"); return *timeTable; } @@ -541,10 +548,10 @@ * raytrace and places it into the timeTable for use in creating a * heat graph light model. */ -void timeTable_input(int x, int y, fastf_t time, fastf_t timeTable[][4096]) +void timeTable_input(int x, int y, fastf_t time, fastf_t **timeTable) { - static fastf_t maxtime = -1.0; - static fastf_t mintime = 1000000.0; /* about 11 days. No pixel should take longer */ + static fastf_t maxtime = -MAX_FASTF; + static fastf_t mintime = MAX_FASTF; static int entries = 0; /*static fastf_t timeTable[4096][4096]={-1}; */ @@ -1713,6 +1720,9 @@ */ case 8: { + /* Maybe do timetable_init here so it may be used later...*/ + + timeTable_init(); ap->a_hit = colorview; VSETALL(background, 0.5); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |