3a53ae5d9f
This commit adds the following properties to GeometryInstance3D: `visibility_range_begin`, `visibility_range_begin_margin`, `visibility_range_end`, `visibility_range_end_margin`. Together they define a range in which the GeometryInstance3D will be visible from the camera, taking hysteresis into account for state changes. A begin or end value of 0 will be ignored, so the visibility range can be open-ended in both directions. This commit also adds the `visibility_parent` property to 'Node3D'. Which defines the visibility parents of the node and its subtree (until another parent is defined). Visual instances with a visibility parent will only be visible when the parent, and all of its ancestors recursively, are hidden because they are closer to the camera than their respective `visibility_range_begin` thresholds. Combining visibility ranges and visibility parents users can set-up a quick HLOD system that shows high detail meshes when close (i.e buildings, trees) and merged low detail meshes for far away groups (i.e. cities, woods). |
||
---|---|---|
.. | ||
bin_sorted_array.h | ||
command_queue_mt.cpp | ||
command_queue_mt.h | ||
cowdata.h | ||
hash_map.h | ||
hashfuncs.h | ||
list.h | ||
local_vector.h | ||
lru.h | ||
map.h | ||
oa_hash_map.h | ||
ordered_hash_map.h | ||
paged_allocator.h | ||
paged_array.h | ||
pair.h | ||
pass_func.h | ||
pooled_list.h | ||
rid_owner.cpp | ||
rid_owner.h | ||
rid.h | ||
ring_buffer.h | ||
safe_refcount.h | ||
SCsub | ||
self_list.h | ||
set.h | ||
simple_type.h | ||
sort_array.h | ||
thread_work_pool.cpp | ||
thread_work_pool.h | ||
vector.h | ||
vmap.h | ||
vset.h |