godot/scene/3d
reduz 455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
..
area_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
area_3d.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
audio_listener_3d.cpp Add dedicated macros for property name extraction 2022-05-19 14:08:47 +08:00
audio_listener_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
audio_stream_player_3d.cpp Audio: Expose 2D/3D panning strength parameters 2022-06-17 13:08:48 +02:00
audio_stream_player_3d.h Audio: Expose 2D/3D panning strength parameters 2022-06-17 13:08:48 +02:00
bone_attachment_3d.cpp implement bone renamer in importer 2022-07-01 03:55:28 +09:00
bone_attachment_3d.h implement bone renamer in importer 2022-07-01 03:55:28 +09:00
camera_3d.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
camera_3d.h Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
collision_object_3d.cpp Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
collision_object_3d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
collision_polygon_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
collision_polygon_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
collision_shape_3d.cpp Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
collision_shape_3d.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
cpu_particles_3d.cpp Particles: Fix missing configuration warning updates 2022-07-03 16:04:20 +02:00
cpu_particles_3d.h Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init 2022-05-02 16:28:25 +02:00
decal.cpp Clamp Decal's upper/lower fade to positive values 2022-07-01 19:23:57 +02:00
decal.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
fog_volume.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
fog_volume.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
gpu_particles_3d.cpp Particles: Fix missing configuration warning updates 2022-07-03 16:04:20 +02:00
gpu_particles_3d.h Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init 2022-05-02 16:28:25 +02:00
gpu_particles_collision_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
gpu_particles_collision_3d.h Remove unused GPUParticlesCollisionHeightField3D.follow_camera_push_ratio property 2022-05-13 04:19:28 +02:00
importer_mesh_instance_3d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
importer_mesh_instance_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
joint_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
joint_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
label_3d.cpp Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API. 2022-07-15 08:49:50 +03:00
label_3d.h Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
light_3d.cpp Fix editor-only visibility for lights 2022-06-23 08:19:18 +02:00
light_3d.h Fix editor-only visibility for lights 2022-06-23 08:19:18 +02:00
lightmap_gi.cpp Use integer types in Image and ImageTexture methods 2022-07-18 19:43:32 -05:00
lightmap_gi.h Clean up Hash Functions 2022-06-20 12:54:19 +02:00
lightmap_probe.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
lightmap_probe.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
lightmapper.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
lightmapper.h add support for soft shadows to the lightmapper 2022-06-24 21:50:13 +05:30
mesh_instance_3d.cpp Add dedicated macros for property name extraction 2022-05-19 14:08:47 +08:00
mesh_instance_3d.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
multimesh_instance_3d.cpp Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
multimesh_instance_3d.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
navigation_agent_3d.cpp Group NavigationAgent properties 2022-06-29 18:42:51 +02:00
navigation_agent_3d.h Merge pull request #62214 from smix8/navigation_layer_bitmask_helpers_4.x 2022-06-20 15:13:33 +02:00
navigation_obstacle_3d.cpp Make Navigation Agents and Obstacles respect parent process mode 2022-05-17 20:08:39 +02:00
navigation_obstacle_3d.h Make Navigation Agents and Obstacles respect parent process mode 2022-05-17 20:08:39 +02:00
navigation_region_3d.cpp Add navigation layer bitmask helper functions 2022-06-19 13:47:19 +02:00
navigation_region_3d.h Add navigation layer bitmask helper functions 2022-06-19 13:47:19 +02:00
node_3d.cpp Add global_position and global_rotation to Node3D 2022-07-01 10:27:07 -04:00
node_3d.h Add global_position and global_rotation to Node3D 2022-07-01 10:27:07 -04:00
occluder_instance_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
occluder_instance_3d.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
path_3d.cpp prevent crash on NaN offset in path_follower 2d and 3d 2022-07-14 14:15:02 +12:00
path_3d.h Merge pull request #62084 from smix8/path_debug_options_4.x 2022-06-29 20:36:43 +02:00
physics_body_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
physics_body_3d.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
position_3d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
position_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
ray_cast_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
ray_cast_3d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
reflection_probe.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
reflection_probe.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
remote_transform_3d.cpp String: Remove TTR and DTR defines in non-tools build 2022-03-28 20:26:35 +02:00
remote_transform_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
SCsub Disable Node3D when compiling without 3D and fix disable_3d option 2021-08-13 08:59:48 -05:00
skeleton_3d.cpp add rest fixer to importer retarget 2022-07-16 19:53:11 +09:00
skeleton_3d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
skeleton_ik_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
skeleton_ik_3d.h Fix cppcheck const parameters 2022-04-28 11:35:39 +02:00
soft_dynamic_body_3d.cpp SoftBody: Fix attachments property names after #61180 2022-06-10 14:16:14 +02:00
soft_dynamic_body_3d.h Create GDExtension clases for PhysicsServer3D 2022-03-15 18:39:31 +01:00
spring_arm_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
spring_arm_3d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
sprite_3d.cpp Fix no hint_string for frame property in AnimatedSprites 2022-07-03 15:31:43 +02:00
sprite_3d.h Add autocompletion for AnimatedSprite.play() 2022-05-05 14:36:35 +08:00
vehicle_body_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
vehicle_body_3d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
velocity_tracker_3d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
velocity_tracker_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
visible_on_screen_notifier_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
visible_on_screen_notifier_3d.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
visual_instance_3d.cpp Use the Static global illumination mode in GeometryInstance3D by default 2022-06-23 22:34:23 +02:00
visual_instance_3d.h Use the Static global illumination mode in GeometryInstance3D by default 2022-06-23 22:34:23 +02:00
voxel_gi.cpp Clamp VoxelGI extents to reasonable values to avoid breaking baking 2022-07-05 18:32:44 +02:00
voxel_gi.h Discern between virtual and abstract class bindings 2022-03-10 12:28:11 +01:00
voxelizer.cpp Fix warnings found by Emscripten 3.1.10 2022-05-10 13:03:13 +02:00
voxelizer.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
world_environment.cpp Make {call,set,notify}_group() immediate by default 2022-05-05 16:59:37 +02:00
world_environment.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
xr_nodes.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
xr_nodes.h Implementing OpenXR driver 2022-02-23 12:02:24 +01:00