[brlcad-commits] SF.net SVN: brlcad:[37399] brlcad/trunk/src/rt
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <irp...@us...> - 2010-01-22 18:17:15
|
Revision: 37399 http://brlcad.svn.sourceforge.net/brlcad/?rev=37399&view=rev Author: irpguardian Date: 2010-01-22 18:17:09 +0000 (Fri, 22 Jan 2010) Log Message: ----------- Removed most old traces of heat graph calculations from view. Various tweaks inside worker and heatgraph for calculations. Modified Paths: -------------- brlcad/trunk/src/rt/heatgraph.c brlcad/trunk/src/rt/view.c brlcad/trunk/src/rt/worker.c Modified: brlcad/trunk/src/rt/heatgraph.c =================================================================== --- brlcad/trunk/src/rt/heatgraph.c 2010-01-22 17:52:26 UTC (rev 37398) +++ brlcad/trunk/src/rt/heatgraph.c 2010-01-22 18:17:09 UTC (rev 37399) @@ -151,7 +151,6 @@ for (i = 0; i < x; i++) { for (w = 0; w < y; w++) { timeTable[i][w] = -1; - /* bu_log("Initializing table %d %d %lf\n", i, w, timeTable[i][w]); */ } } bu_log("Initialized timetable\n"); @@ -296,10 +295,10 @@ for (x = 0; x < maxX; x++) { for (y = 0; y < maxY; y++) { if (timeTable[x][y] < minTime) { - /* Empty Pixels, i.e. background */ + /* error pixels, time is less than minTime */ Rcolor = 0; - Gcolor = 0; - Bcolor = 12; + Gcolor = 255; + Bcolor = 0; } else { /* Calculations for determining color of heat graph go here */ if (timeTable[x][y] >= minTime && timeTable[x][y] < meanTime) { Modified: brlcad/trunk/src/rt/view.c =================================================================== --- brlcad/trunk/src/rt/view.c 2010-01-22 17:52:26 UTC (rev 37398) +++ brlcad/trunk/src/rt/view.c 2010-01-22 18:17:09 UTC (rev 37399) @@ -537,16 +537,9 @@ { /* If the heat graph is on, render it after all pixels completed */ if (lightmodel == 8) { - /* - bu_log("Building Heat-Graph\n"); - fastf_t *timeTable; - timeTable = timeTable_init(NULL, NULL); - bu_log("Timetable accessed!\n"); - timeTable_process(timeTable, ap); - bu_log("Heat Graph-built\n"); - */ + fastf_t *timeTable; - timeTable = timeTable_init(width, height, NULL); + timeTable = timeTable_init(NULL, NULL); timeTable_process(timeTable, ap); timeTable_free(timeTable); } @@ -780,18 +773,6 @@ struct hit *hitp; struct shadework sw; - /* - * Add to this function a method for determining the length of - * time taken to calculate a pixel, using the new heat-graph light - * model. What it will do is, when active, start a timer here, and - * stop the timer at the end of this function, take the total time - * in this funtion, and place it into an array that is the size of - * the picture that is being rendered (X by Y) - */ - if (lightmodel == 8) { - rt_prep_timer(); - } - pp = PartHeadp->pt_forw; if (ap->a_flag == 1) { /* This ray is an escaping internal ray after refraction @@ -1648,13 +1629,15 @@ */ case 8: { - /* Maybe do timetable_init here so it may be used later...*/ - /* timeTable = timeTable_init(); */ ap->a_hit = colorview; - VSET(background, 0.0, 0.0, 0.05); + if (BU_LIST_IS_EMPTY(&(LightHead.l)) || + BU_LIST_UNINITIALIZED(&(LightHead.l))) { + if (R_DEBUG&RDEBUG_SHOWERR)bu_log("No explicit light\n"); + light_maker(1, view2model); + } break; } - + default: bu_exit(EXIT_FAILURE, "bad lighting model #"); } Modified: brlcad/trunk/src/rt/worker.c =================================================================== --- brlcad/trunk/src/rt/worker.c 2010-01-22 17:52:26 UTC (rev 37398) +++ brlcad/trunk/src/rt/worker.c 2010-01-22 18:17:09 UTC (rev 37399) @@ -420,13 +420,13 @@ /* Add get_pixel_timer here to get total time taken to get pixel, when asked */ if (lightmodel == 8) { - bu_semaphore_acquire(RT_SEM_LAST-1); fastf_t pixelTime = 0.0; get_pixel_timer(NULL, NULL, &pixelTime); /* bu_log("PixelTime = %lf\n", pixelTime); */ + bu_semaphore_acquire(RT_SEM_LAST-2); timeTable = timeTable_init(width, height); timeTable_input(a.a_x, a.a_y, pixelTime, timeTable); - bu_semaphore_release(RT_SEM_LAST-1); + bu_semaphore_release(RT_SEM_LAST-2); } /* we're done */ view_pixel(&a); @@ -489,8 +489,6 @@ cur_pixel = last_pixel; last_pixel = tmp; - timeTable_init(width, height); - while (1) { if (stop_worker) return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |