|
|
| Impl (Index num_instances) |
| |
|
Scalar | instance_active_weight (size_t i) const |
| |
|
template<typename Vertices, typename Facets> |
| void | process_instance (size_t i, uint64_t instance_rays, Scalar, const Vertices &vertices, const Facets &facets) |
| |
|
void | end_batch () |
| |
| | OccludedInstanceSampler (const scene::SimpleScene< Scalar, Index, 3 > &scene, function_ref< bool(Index mesh_index, Index instance_index)> is_occluder=[](Index, Index) { return true;}) |
| | Build the ray caster and per-instance precomputation.
|
| |
|
| OccludedInstanceSampler (OccludedInstanceSampler &&) noexcept |
| |
|
OccludedInstanceSampler & | operator= (OccludedInstanceSampler &&) noexcept |
| |
|
void | run_batch (uint64_t num_rays) |
| | Run a batch distributing num_rays across instances not yet marked visible.
|
| |
|
bool | is_visible (Index global_index) const |
| | Whether the instance has been marked visible so far.
|
| |
|
uint64_t | num_rays_cast (Index global_index) const |
| | Rays cast so far for the instance.
|
| |
|
Index | num_instances () const |
| | Total number of instances.
|
| |
|
Derived & | derived () |
| |
|
const Derived & | derived () const |
| |
|
size_t | num_instances () const |
| |
|
Index | mesh_index (size_t i) const |
| |
|
const auto & | instance_transform (size_t i) const |
| |
|
Scalar | compute_total_active_weight () const |
| |
|
void | run_batch (uint64_t num_rays) |
| |
◆ OccludedInstanceSampler()
Build the ray caster and per-instance precomputation.
- Parameters
-
| [in] | scene | Scene to process. |
| [in] | is_occluder | Returns whether (mesh_index, instance_index) should block rays. Non-occluder instances are still tested for visibility but do not contribute to the ray-caster scene. |
◆ m_instance_weights
template<typename
Scalar, typename Index>
| std::vector<Scalar> m_instance_weights |
Inter-instance ray-distribution weight = cbrt(total area).
cbrt-of-sum, not sum-of-cbrt: an instance is a single shared Bernoulli trial, so softening is applied to the instance total rather than per facet.
The documentation for this struct was generated from the following file:
- remove_occluded_instances.cpp