virtualx-engine/servers
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
..
arvr Change ARVRPositionalTracker to a reference and better expose it to GDNative 2021-03-29 23:01:04 +11:00
audio Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
camera SCons: Add explicit dependencies on thirdparty code in cloned env 2021-04-29 16:57:00 +02:00
physics Merge pull request #48892 from lawnjelly/bvh_robust 2021-07-22 12:41:42 +02:00
physics_2d Merge pull request #48892 from lawnjelly/bvh_robust 2021-07-22 12:41:42 +02:00
visual Merge pull request #48892 from lawnjelly/bvh_robust 2021-07-22 12:41:42 +02:00
arvr_server.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
arvr_server.h Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
audio_server.cpp Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
audio_server.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
camera_server.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
camera_server.h Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
physics_2d_server.cpp Fix move_and_collide causing sliding on slopes 2021-07-19 08:09:16 -07:00
physics_2d_server.h Fix move_and_collide causing sliding on slopes 2021-07-19 08:09:16 -07:00
physics_server.cpp Fix move_and_collide causing sliding on slopes 2021-07-19 08:09:16 -07:00
physics_server.h Fix move_and_collide causing sliding on slopes 2021-07-19 08:09:16 -07:00
register_server_types.cpp Remove unused PhysicsShapeQueryResult & Physics2DShapeQueryResult 2021-07-05 11:21:15 -07:00
register_server_types.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
SCsub SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
server_wrap_mt_common.h Modernize Mutex 2021-02-18 11:58:08 +01:00
visual_server.cpp Octahedral Normal/Tangent Compression 2021-07-30 10:29:09 -04:00
visual_server.h Octahedral Normal/Tangent Compression 2021-07-30 10:29:09 -04:00
visual_server_callbacks.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
visual_server_callbacks.h Portal occlusion culling 2021-07-14 11:43:23 +01:00