virtualx-engine/core
jfons 3a53ae5d9f Implement visibility range and dependencies.
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).
2021-06-14 12:17:11 +02:00
..
config Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
crypto Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
debugger Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
error Modernize atomics 2021-02-18 17:12:46 +01:00
input Fix InputEventJoypadButton::as_text crash for invalid button index 2021-06-13 13:53:11 +08:00
io Merge pull request #48746 from KoBeWi/bane_of_all_virtual_compatibility 2021-06-12 23:00:40 +02:00
math Merge pull request #34668 from aaronfranke/to-string 2021-06-13 11:58:24 +02:00
object Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
os Merge pull request #49123 from aaronfranke/it-is-time 2021-06-12 22:55:25 +02:00
string Merge pull request #34668 from aaronfranke/to-string 2021-06-13 11:58:24 +02:00
templates Implement visibility range and dependencies. 2021-06-14 12:17:11 +02:00
variant Merge pull request #34668 from aaronfranke/to-string 2021-06-13 11:58:24 +02:00
core_bind.cpp Merge pull request #49123 from aaronfranke/it-is-time 2021-06-12 22:55:25 +02:00
core_bind.h Merge pull request #49123 from aaronfranke/it-is-time 2021-06-12 22:55:25 +02:00
core_builders.py Update AUTHORS and DONORS list 2020-08-14 00:06:51 +02:00
core_constants.cpp Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
core_constants.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
core_string_names.cpp Removed _change_notify 2021-02-10 19:31:24 -03:00
core_string_names.h Removed _change_notify 2021-02-10 19:31:24 -03:00
doc_data.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
doc_data.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
register_core_types.cpp Merge pull request #49123 from aaronfranke/it-is-time 2021-06-12 22:55:25 +02:00
register_core_types.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
SCsub Implement shader caching 2021-05-31 10:13:09 +02:00
typedefs.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
version.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00