godot/core/io
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
..
compression.cpp Vectors: Use clear() and has(). 2022-02-02 00:11:09 +05:45
compression.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
config_file.cpp Fix saving section-less keys in ConfigFile 2022-06-07 18:05:49 +03:00
config_file.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
dir_access.cpp Address slow copy performance when using the FileAccessFilesystemJAndroid implementation. 2022-07-21 09:06:29 -07:00
dir_access.h Add full support for Android scoped storage. 2022-07-05 03:00:37 -07:00
dtls_server.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
dtls_server.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
file_access_compressed.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_compressed.h Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_encrypted.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_encrypted.h Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_memory.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
file_access_memory.h Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_network.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_network.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
file_access_pack.cpp Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
file_access_pack.h Clean up Hash Functions 2022-06-20 12:54:19 +02:00
file_access_zip.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
file_access_zip.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
file_access.cpp Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose. 2022-07-07 11:07:18 +03:00
file_access.h Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
http_client_tcp.cpp [Net] Make StreamPeerTCP::_poll_connection explicit. 2022-03-27 16:36:44 +02:00
http_client_tcp.h [Net] Non-blocking request in HTTPClientTCP. 2022-02-03 02:45:30 +01:00
http_client.cpp Verify custom HTTP headers, fix off by one error 2022-01-27 03:22:37 +01:00
http_client.h Verify custom HTTP headers, fix off by one error 2022-01-27 03:22:37 +01:00
image_loader.cpp Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
image_loader.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
image.cpp Merge pull request #63005 from Chaosus/image_rotate 2022-07-19 15:21:16 +02:00
image.h Merge pull request #63005 from Chaosus/image_rotate 2022-07-19 15:21:16 +02:00
ip_address.cpp Cleanup and move char functions to the char_utils.h header. 2022-02-04 11:35:01 +02:00
ip_address.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
ip.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
ip.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
json.cpp Add a new HashSet template 2022-05-20 22:40:38 +02:00
json.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
logger.cpp Fix typos with codespell 2022-05-23 21:32:19 +02:00
logger.h Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
marshalls.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
marshalls.h Fixed variant decoding Segmentation Fault 2022-02-14 23:04:05 +03:00
missing_resource.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
missing_resource.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
net_socket.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
net_socket.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
packed_data_container.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
packed_data_container.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
packet_peer_dtls.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
packet_peer_dtls.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
packet_peer_udp.cpp [Net] Drop is_connected_to_host for TCP and UDP. 2022-03-27 16:36:44 +02:00
packet_peer_udp.h [Net] Drop is_connected_to_host for TCP and UDP. 2022-03-27 16:36:44 +02:00
packet_peer.cpp Vectors: Use clear() and has(). 2022-02-02 00:11:09 +05:45
packet_peer.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
pck_packer.cpp Remove or make private FileAccess close() methods. 2022-04-12 14:50:14 +03:00
pck_packer.h Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
resource_format_binary.cpp Implement Vector4, Vector4i, Projection 2022-07-23 14:00:01 +02:00
resource_format_binary.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_importer.cpp Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_importer.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_loader.cpp Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_loader.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
resource_saver.cpp Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
resource_saver.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
resource_uid.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
resource_uid.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
resource.cpp Remake resource thread safety and API 2022-06-22 13:46:46 +02:00
resource.h Remake resource thread safety and API 2022-06-22 13:46:46 +02:00
SCsub SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
stream_peer_ssl.cpp Add StreamPeerSSL.get_stream() accessor. 2022-05-25 12:43:19 -07:00
stream_peer_ssl.h Add StreamPeerSSL.get_stream() accessor. 2022-05-25 12:43:19 -07:00
stream_peer_tcp.cpp [Net] Fix StreamPeerTCP accepted status. 2022-05-04 20:13:32 +02:00
stream_peer_tcp.h Merge pull request #59582 from Faless/net/4.x_tcp_explicit_poll 2022-04-27 13:56:58 +02:00
stream_peer.cpp Vectors: Use clear() and has(). 2022-02-02 00:11:09 +05:45
stream_peer.h Object: Remove unused category boilerplate 2022-03-26 15:46:01 +01:00
tcp_server.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
tcp_server.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
translation_loader_po.cpp Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
translation_loader_po.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
udp_server.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
udp_server.h Zero initialize all pointer class and struct members 2022-04-04 19:49:50 +02:00
xml_parser.cpp Implement XMLParser.get_current_line() 2022-07-05 01:23:04 +02:00
xml_parser.h Implement XMLParser.get_current_line() 2022-07-05 01:23:04 +02:00
zip_io.cpp Fix ZipIO crash when reused (and possible leaks). 2022-05-11 16:08:17 +03:00
zip_io.h Fix ZipIO crash when reused (and possible leaks). 2022-05-11 16:08:17 +03:00