godot/scene/3d
Omar El Sheikh d274284069 Octahedral Normal/Tangent Compression
Implement Octahedral Compression for normal/tangent vectors
*Oct32 for uncompressed vectors
*Oct16 for compressed vectors

Reduces vertex size for each attribute by
*Uncompressed: 12 bytes, vec4<float32> -> vec2<unorm16>
*Compressed: 2 bytes, vec4<unorm8> -> vec2<unorm8>

Binormal sign is encoded in the y coordinate of the encoded tangent

Added conversion functions to go from octahedral mapping to cartesian
for normal and tangent vectors

sprite_3d and soft_body meshes write to their vertex buffer memory
directly and need to convert their normals and tangents to the new oct
format before writing

Created a new mesh flag to specify whether a mesh is using octahedral
compression or not
Updated documentation to discuss new flag/defaults

Created shader flags to specify whether octahedral or cartesian vectors
are being used

Updated importers to use octahedral representation as the default format
for importing meshes

Updated ShaderGLES2 to support 64 bit version codes as we hit the limit
of the 32-bit integer that was previously used as a bitset to store
enabled/disabled flags
2021-07-30 10:29:09 -04:00
..
area.cpp Uncap the range for gravity and change the slider hints 2021-06-03 02:08:57 +02:00
area.h Return RID instead of Object id in area-body_shape_entered-exited signals. 2021-05-19 10:51:59 +01:00
arvr_nodes.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
arvr_nodes.h Style: Remove redundant void argument lists 2021-05-04 16:40:33 +02:00
audio_stream_player_3d.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
audio_stream_player_3d.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
baked_lightmap.cpp Add soft shadows to the CPU lightmapper 2021-07-05 19:02:35 +02:00
baked_lightmap.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
bone_attachment.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
bone_attachment.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
camera.cpp Prevent setting too big or too small Collision Mask and Layer 2021-06-27 17:40:07 +02:00
camera.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
collision_object.cpp Merge pull request #49446 from nekomatata/sync-to-physics-3d-3.x 2021-07-16 07:15:17 +02:00
collision_object.h Support for 3D sync to physics 2021-06-08 16:28:58 -07:00
collision_polygon.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
collision_polygon.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
collision_shape.cpp Create CollisionObject debug shapes using VS 2021-05-09 18:30:27 +02:00
collision_shape.h Create CollisionObject debug shapes using VS 2021-05-09 18:30:27 +02:00
cpu_particles.cpp Fix color properties of particle nodes/material 2021-07-15 10:25:35 +02:00
cpu_particles.h Added ring emitter for 3D particles 2021-05-09 13:18:05 +02:00
cull_instance.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
cull_instance.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
gi_probe.cpp Fix accessing scene tree without checking: MeshInstance3D::create_debug_tangents, GIProbe::bake 2021-05-17 13:08:46 +02:00
gi_probe.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
immediate_geometry.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
immediate_geometry.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
interpolated_camera.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
interpolated_camera.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
light.cpp Tweak Light property hints for greater flexibility 2021-07-16 04:12:10 +02:00
light.h Add soft shadows to the CPU lightmapper 2021-07-05 19:02:35 +02:00
lightmapper.cpp CPU lightmapper fixes. 2021-01-15 12:32:54 +01:00
lightmapper.h Add soft shadows to the CPU lightmapper 2021-07-05 19:02:35 +02:00
listener.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
listener.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
mesh_instance.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
mesh_instance.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
multimesh_instance.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
multimesh_instance.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
navigation_mesh.cpp Prevent setting too big or too small Collision Mask and Layer 2021-06-27 17:40:07 +02:00
navigation_mesh.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
navigation.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
navigation.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
particles.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
particles.h Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
path.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
path.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
physics_body.cpp More accurate unsafe motion calculation 2021-07-19 08:09:17 -07:00
physics_body.h Fix move_and_collide causing sliding on slopes 2021-07-19 08:09:16 -07:00
physics_joint.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
physics_joint.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
portal.cpp Portals - lift roomlist restrictions and fix link bug 2021-07-20 19:05:16 +01:00
portal.h Portals - lift roomlist restrictions and fix link bug 2021-07-20 19:05:16 +01:00
position_3d.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
position_3d.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
proximity_group.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
proximity_group.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
ray_cast.cpp Prevent setting too big or too small Collision Mask and Layer 2021-06-27 17:40:07 +02:00
ray_cast.h Add custom debug shape thickness and color options to RayCast 2021-06-19 06:01:25 +02:00
reflection_probe.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
reflection_probe.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
remote_transform.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
remote_transform.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
room_group.cpp Portals - Add configuration warnings for nodes 2021-07-15 08:01:42 +01:00
room_group.h Portals - Add configuration warnings for nodes 2021-07-15 08:01:42 +01:00
room_manager.cpp Portals - lift roomlist restrictions and fix link bug 2021-07-20 19:05:16 +01:00
room_manager.h Portals - Add the ability to autoplace static objects 2021-07-20 13:24:30 +01:00
room.cpp Portals - Add the ability to autoplace static objects 2021-07-20 13:24:30 +01:00
room.h Portals - lift roomlist restrictions and fix link bug 2021-07-20 19:05:16 +01:00
SCsub SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
skeleton.cpp Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
skeleton.h Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides 2021-05-06 20:11:21 -04:00
soft_body.cpp Octahedral Normal/Tangent Compression 2021-07-30 10:29:09 -04:00
soft_body.h Support for disabling physics on SoftBody 2021-06-22 11:38:17 -07:00
spatial_velocity_tracker.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
spatial_velocity_tracker.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
spatial.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
spatial.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
spring_arm.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
spring_arm.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
sprite_3d.cpp Octahedral Normal/Tangent Compression 2021-07-30 10:29:09 -04:00
sprite_3d.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
vehicle_body.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
vehicle_body.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
visibility_notifier.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
visibility_notifier.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
visual_instance.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
visual_instance.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
voxel_light_baker.cpp Disable GIProbe emission when disabled on a material 2021-05-17 20:24:33 +04:00
voxel_light_baker.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
world_environment.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
world_environment.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00