Marco Domingues
2017-05-17 17:20:38 UTC
Hi,
When looking at Boolean evaluation code i noticed the use of the struct bu_bitv (struct bu_bitv *solidbits) to test if a given region is ready to be evaluated, by checking if every solid in the region has been intersected (function ‘bool_partition_eligible’).
From my understanding, these tests are not necessary to be ported to OpenCl, because at the moment of boolean evaluation, every solid is guaranteed to be intersected, considering the sequence of OCL kernels:
count_hits()
store_segs()
weave_segs()*
eval_partitions()*
shade_segs()
*yet to be implemented
Is this correct? Or the struct bu_bitv is used for something else in the background other than just checking if every solid has been intersected?
Cheers,
Marco
When looking at Boolean evaluation code i noticed the use of the struct bu_bitv (struct bu_bitv *solidbits) to test if a given region is ready to be evaluated, by checking if every solid in the region has been intersected (function ‘bool_partition_eligible’).
From my understanding, these tests are not necessary to be ported to OpenCl, because at the moment of boolean evaluation, every solid is guaranteed to be intersected, considering the sequence of OCL kernels:
count_hits()
store_segs()
weave_segs()*
eval_partitions()*
shade_segs()
*yet to be implemented
Is this correct? Or the struct bu_bitv is used for something else in the background other than just checking if every solid has been intersected?
Cheers,
Marco