Hi Marco,

So after reviewing the code with the ‘weave_segs’ kernel last thursday with 
Vasco Costa via Skype, i made some improvements on the code and submitted today 
an initial patch with the ‘weave_segs’ kernel and the code to weave segments 
into partitions. (The patch can be found here 
https://sourceforge.net/p/brlcad/patches/468/).


Outstanding.  Great to see some real useful progress.



It contains a bit vector of 32 bits to represent the segments in each partition 
and the respective assertion on the host code to ensure that there aren’t more 
than 32 segments per ray.
Would appreciate some feedback on the patch.


Where in the patch is the 32-bit limit exactly?  I glanced quickly, but didn't 
see a comment.  Please at least leave a comment about it even if the limit is 
type-based.  Also, curious why you disabled all of the coloring code in rt.cl  
Presumably just for testing, but did something not work right?  Also curious 
that your cl partition structure still contains pointers (instead of SoA) -- 
that intentional?

 
I tested the code with scenes containing union, difference and intersection 
operations and the resulting images matched the images from the ansi c code.


Can you report what the difference in timings is looking like for just segment 
weaving?  I know your test cases were pretty simple, but curious where the 
times are at in comparison.


I will attach a diff file with the code I made to eval the partitions and to 
shade the evaluated partitions (white/black shading). It doesn’t support CSG 
scenes with more than 1 region yet!


Feel free to share a picture, or include some more in your dev log.  The 
picture from June 9th was cool to see.  While we do eventually want the 
raytrace picture to match, it's more important to first get ray partitions 
matching.  For comparing Ansi C timings, you should try using a different 
lighting model (rt -l#) that does less work, otherwise it's apples n' oranges 
different.  Diffuse is -l1, surface normals is -l2, curvature is -l5.  Feel 
free to add a new lighting model that does the simple while/black shading so 
you have a more exact comparison.



I will be working next on adding support to evaluate CSG scenes with more than 
1 region and shading the objects with the correct materials.


Excellent.  Sounds like Vasco has you right on track.  Thanks for the update!



Cheers!

Sean




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to