Commit graph

101 commits

Author SHA1 Message Date
a4007a36b0 Add tests: triangle, lines, texture, vertex_modifier, armature, msaa1, msaa2. 2025-03-18 20:42:32 +01:00
bde930692d Render: Fix frustum culling. 2025-03-18 20:24:56 +01:00
e169723b7b Armature: Add initial Armature object, Bones, armature deform vertex modifier. 2025-03-18 18:42:39 +01:00
ba70b1addb Mesh: Fix wrong calculations in ensure_capacity. 2025-03-18 18:38:45 +01:00
f45e1757f6 Mesh: Allow creating meshes with any type of vertex array seq, not just float32. 2025-03-18 18:37:48 +01:00
2219f8c9ad Fix compiler warnings and hints. 2025-03-18 18:34:54 +01:00
8ef4748412 Export shape key modifier, add missing license block. 2025-03-18 18:12:32 +01:00
a2024c4ebc Scene: Add time as the amount of seconds it has been enabled. 2025-03-18 18:11:16 +01:00
0d2d2a2d44 Add engine.detect_common_issues() and run it after 300 frames. 2025-03-18 18:08:42 +01:00
c09499dd01 Render: Add depth-only pass (temporary until pass system is rewritten). 2025-03-18 18:05:55 +01:00
6f21f9fa87 Add support for MSAA, both in the OpenGL context and in any framebuffer. 2025-03-18 17:51:01 +01:00
a38138582e Add support for OpenImageIO. 2025-03-18 17:05:13 +01:00
5b2a22b2c0 iOS: Export some platform functions. 2025-03-18 16:46:05 +01:00
0b5cd6f8d2 Material: Make scene optional, fix typo, other minor changes. 2025-03-18 16:43:47 +01:00
DiThi
fb50b3a018 dds_ktx: Ignore files that are too big for the library. 2025-03-18 14:27:48 +01:00
DiThi
cee92ef69c Bc7enc: Fix missing stdc++ linking. 2025-03-18 14:26:54 +01:00
DiThi
9a727c566e Astc: Compile library with -O3 even in debug builds. 2025-03-18 14:26:21 +01:00
DiThi
adc21f8e29 ArrRef: Have SliceMem copy container contents instead of trying to store a reference. 2025-03-18 14:25:00 +01:00
DiThi
aaf89d2589 Scene: Add Android/iOS shader defines 2025-03-18 14:23:30 +01:00
adbebbfcd7 GL ES 3.2 static: restore ability to load extension procs, and load them. 2025-02-06 14:49:48 +01:00
cd05c590cc Rework texture loading and caching system:
* Create a cache module to query and load cached files without having to load or
download the original file, as well as comparing changed time and size.
* Change `loadUri` to allow fetching the modification time and size of a file.
* Change `onload` of `loadable` to have a single `FetchResult` objects instead
  of many arguments (ok, err, data, time, size).
* Removed Pixie support.
* Added a buffer copy to simplify potentially problematic code.
* Add cache_key to newTexture when loading from buffer.
* For packed images, use the name of the blend file and the image as cache_key.
2025-01-25 14:25:26 +01:00
ce4be40407 Render: Set 1-byte texture alignment. Make blank_texture transparent. 2025-01-21 20:13:24 +01:00
4082679118 Screen: Add newFramebufferScreen, newTextureScreen, setTexture. 2025-01-21 18:46:17 +01:00
e3c6c40fef Texture: Add existing_resource to newTexture to pass an existing handle.
Meant for e.g. using OpenXR swapchains which give a number of texture images.
For OpenGL, cast the `GLuint` to `pointer` (only tested in little-endian).
2025-01-21 18:42:12 +01:00
2ce119556a Camera: Add scene.newCamera. Change Camera.fov_4 to match OpenXR's XrFovf 2025-01-21 13:39:10 +01:00
71aac99e5c Ensure only one of BC/ASTC is considered native, prefer ASTC on android. 2025-01-21 13:27:37 +01:00
79372d6cfc Android: Add 5 more myouAndroidGet* for JNI VM, app context, and EGL handles. 2025-01-21 13:05:10 +01:00
35497da6a6 GLFM: Update ASan no_sanitize attributes to both "address" and "hwaddress". 2025-01-21 13:01:18 +01:00
a5c9bb3c70 Make Quat distinct, replace GameObject.rotation by a union (with quat and euler).
Replace `@` quat multiplication by `*` to avoid confusion.
2025-01-21 12:56:34 +01:00
17470f4c02 Animation & blend file: Preliminary support for actions. 2024-12-16 21:34:55 +01:00
fc39a93a94 Blend file: Use alpha blending flag, add alpha in principled & teximage nodes. 2024-12-16 21:30:37 +01:00
11ef0fbd41 Generic platform: Add procs for reading assets and for key/character events. 2024-12-16 21:27:26 +01:00
b4c7061fc9 Shader library: Fix SH9 not working with some devices because of buggy vec3. 2024-12-16 21:24:42 +01:00
6d6c807ff2 Material: Add -d:myouStoreGLSL and setOverrideXXCode() to live edit shaders. 2024-12-16 21:21:18 +01:00
8155c53314 Blend loader: Add texture cache. 2024-12-16 21:17:43 +01:00
67307032da Textures: Add several defines and constructor options for compression, cache.
* Add defines `myouForceAstc`, `myouMinTextureChannels`, 
  `myouLoadUncompressedTextures` and `myouAllCacheFilesExist`.
* Suppress warning messages about emulation for `myouForceAstc`.
* Add argument `use_compression` to `newTexture` (default `true`)
2024-12-16 21:05:21 +01:00
0192db3f67 Implement shape keys, vertex modifier support. Fix related bugs. 2024-12-16 21:02:13 +01:00
12940dad1d Android: Add APK reading, closing app. Fix JNI env not attached to thread. 2024-12-04 13:32:01 +01:00
e0b02d2708 Screen: Add frame_inset and display_scale, and implement them in Android. 2024-12-04 13:11:09 +01:00
bb4f8e1c00 Change new_scenes to new_del_scenes to avoid issues when deleting a scene. 2024-11-30 00:53:26 +01:00
2caf78c88a Mesh: Fix vertex_count, vertex_array in newMesh. Fix add_polygonal_line() 2024-11-30 00:48:43 +01:00
893208f4c2 Add docstrings to gameobject, mesh, light, camera, scene, screen, attributes. 2024-11-30 00:17:06 +01:00
080d9bcc67 Loadable: add registerLogUriHandler() to get a log of loaded URIs. 2024-11-29 13:32:46 +01:00
6212b816f0 Loadable: Add registerCustomProtocol() for e.g. reading assets in mobile. 2024-11-29 13:30:32 +01:00
6794b35978 Add a forgotten conditional in simple_shadow.nim 2024-09-21 02:27:10 +02:00
29e4735626 Util: Remove unused JS functions, add min/max(vec), improve remove, add docs. 2024-09-21 02:21:25 +02:00
40b70003ec GameObject: Document many of its functions.
Also rename `get_dimensions` to `get_local_dimensions`, add
`get_world_dimensions` for consistency, and add `children_recursive_and_self`.
2024-09-21 02:19:44 +02:00
f71ae37821 GameObject: Fix rotation in get_local_matrix. 2024-09-21 02:16:39 +02:00
f03d1929cb Blend format: fix crash when trying to load a data block of missing type. 2024-09-21 02:15:26 +02:00
1abd60e48f Blend format: load some custom properties in objects. 2024-09-21 02:14:24 +02:00