godot/modules
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
..
bmp fix misaligned loads in bmp loader 2021-05-11 10:44:21 +02:00
bullet Merge pull request #50257 from Calinou/physicsserver3d-add-set-iterations-3.x 2021-07-14 07:56:57 +02:00
camera iOS Modules: separate main platform code from modules 2021-01-14 15:30:00 +03:00
csg Prevent setting too big or too small Collision Mask and Layer 2021-06-27 17:40:07 +02:00
cvtt Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
dds Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
denoise SCons: Add explicit dependencies on thirdparty code in cloned env 2021-04-29 16:57:00 +02:00
enet [Net] ENet non-relaying server now process broadcasts. 2021-06-17 12:47:55 +02:00
etc Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
fbx Octahedral Normal/Tangent Compression 2021-07-30 10:29:09 -04:00
freetype Use modules_enabled.gen.h to improve inter dependency checks 2021-07-14 23:36:38 +02:00
gdnative Update GDNative API version for changes from #50659 2021-07-21 10:30:31 -05:00
gdscript Implement didClose notification in LSP 2021-07-13 10:20:02 +02:00
gltf gltf: Fix mesh nodes which are also bones. 2021-05-31 13:18:10 -07:00
gridmap Fix GridMap erase Octans 2021-07-06 11:10:45 +02:00
hdr Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
jpg Make all file access 64-bit (`uint64_t`) 2021-05-16 17:52:31 +02:00
jsonrpc Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
lightmapper_cpu Merge pull request #50150 from Valeryn4/3.x-fix_lightmap_cpu 2021-07-14 12:19:53 +02:00
mbedtls [Crypto] Delete mbedtls ctx in deconstructor. 2021-07-06 11:10:47 +02:00
minimp3 Make all file access 64-bit (`uint64_t`) 2021-05-16 17:52:31 +02:00
mobile_vr Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
mono Mono: Remove info dialog discouraging use in production 2021-07-20 13:05:04 +02:00
ogg SCons: Add explicit dependencies on thirdparty code in cloned env 2021-04-29 16:57:00 +02:00
opensimplex Add support for generating noise images with an offset. 2021-06-01 12:52:18 +02:00
opus SCons: Add explicit dependencies on thirdparty code in cloned env 2021-04-29 16:57:00 +02:00
pvr Validate image formats, check if resize_to_po2 failed 2021-06-29 14:02:23 +02:00
raycast Upgrade Embree to the latest official release. 2021-05-22 15:14:07 +02:00
recast Use modules_enabled.gen.h to improve inter dependency checks 2021-07-14 23:36:38 +02:00
regex Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
squish Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
stb_vorbis Make all file access 64-bit (`uint64_t`) 2021-05-16 17:52:31 +02:00
svg Use modules_enabled.gen.h to improve inter dependency checks 2021-07-14 23:36:38 +02:00
tga Fix loading RLE compressed TGA files. 2021-06-14 18:51:09 +03:00
theora Style: Cleanup uses of double spaces between words 2021-06-07 12:06:59 +02:00
tinyexr Make all file access 64-bit (`uint64_t`) 2021-05-16 17:52:31 +02:00
upnp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
vhacd Options to clean/simplify convex hull generated from mesh 2021-07-09 17:45:59 -07:00
visual_script Merge pull request #50696 from DavidCambre/Allow-dropping-custom-node-scripts-in-VisualScript-editor 2021-07-22 12:42:06 +02:00
vorbis SCons: Add explicit dependencies on thirdparty code in cloned env 2021-04-29 16:57:00 +02:00
webm Make all file access 64-bit (`uint64_t`) 2021-05-16 17:52:31 +02:00
webp Merge pull request #47854 from mortarroad/3.x-lossless-webp 2021-06-11 19:35:47 +02:00
webrtc Add get_buffered_amount() to WebRTCDataChannel 2021-07-20 16:52:33 -05:00
websocket Improve error reporting in WebSocketServer 2021-07-06 13:38:54 +02:00
webxr Fix typos with codespell 2021-05-20 12:56:56 +02:00
xatlas_unwrap Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
SCsub Add env.Depends to modules_enabled.gen.h generator 2021-07-14 23:46:44 +02:00
modules_builders.py SCons: Generate header with info on which modules are enabled 2021-07-14 23:09:47 +02:00
register_module_types.h SCons: Generate header with info on which modules are enabled 2021-07-14 23:09:47 +02:00