Commit graph

28 commits

Author SHA1 Message Date
Alberto Torres 83011ea344 Add use_threads option to loadUri. 2024-09-05 16:48:35 +02:00
Alberto Torres 41c7c7092a Fix typo in align in utils. 2024-09-05 16:47:33 +02:00
Alberto Torres 82be9ea1db Fix issue when trying to load another .blend with same loader after it failed. 2024-09-05 00:24:08 +02:00
Alberto Torres 7f0ebc122a Add support for BCn texture compression formats (except BC2, BC6) with BC7enc. 2024-09-05 00:22:05 +02:00
Alberto Torres e4b918b384 Call gladLoadGLES2 in mobile to properly detect supported extensions. 2024-09-04 02:44:26 +02:00
Alberto Torres d9778546b5 Fix GLAD bug where it wasn't reading OpenGL ES version correctly. 2024-09-04 02:43:22 +02:00
Alberto Torres 878137db71 Load textures in a thread and optionally compress them (in ASTC only for now). 2024-09-03 15:59:15 +02:00
Alberto Torres 0949e1bf99 Add libraries: astc and stb_image_resize. 2024-09-03 15:31:00 +02:00
Alberto Torres e31d416f94 Rename ddx_ktx to dds_ktx and add get_ASTC_internal_format 2024-09-03 14:43:06 +02:00
Alberto Torres e759f25519 ArrRef and SliceMem: Add concat, suport for backward indexes, and fix $. 2024-09-03 14:42:57 +02:00
Alberto Torres d784dd3a52 Replace the use of pointer/len and "done()" by SliceMem and destructors. 2024-08-31 00:40:02 +02:00
Alberto Torres 8eda3e5969 Add SliceMem, an object to safely move slices of memory around without copies. 2024-08-30 23:16:10 +02:00
Alberto Torres 49d919f43d Move API-agnostic image procs out of texture, to prepare to add threads.
* Procs `loadFileFromPointersLen`, `getDimensionsFormat` and related graphics
API-agnostic functions have been moved into their own module `texture_decode`.
* New directory `gpu_formats` added, where we will put all modules related to
decoding, optimizing and caching meshes and textures (independently of the
graphics API being used) in a separate thread or threads.
2024-08-29 22:54:04 +02:00
Alberto Torres 78cafe6566 Add threading support to LoadableResource. 2024-08-29 00:19:52 +02:00
Alberto Torres e748831f3a Fix crash with loadables in Android. Warn if done() is being called twice. 2024-08-29 00:13:37 +02:00
Alberto Torres c731c3c5ab Add new_scenes to prevent modifying the currently iterated scenes. 2024-08-29 00:09:34 +02:00
Alberto Torres 3ff1d663a2 Prevent cycles with ARC by adding {.cursor.} to all "back" references.
TODO: Use destructors to set all cursors of children objects to `nil`.
2024-08-29 00:07:09 +02:00
Alberto Torres 1557d59d0f Add option to always use GLSL tone mapping instead of GL_FRAMEBUFFER_SRGB. 2024-08-29 00:01:54 +02:00
Alberto Torres 6636b5e595 Add proc to show/hide on-screen keyboard and character callbacks (except ios).
* Add `myouSetKeyboardVisible(bool)` and export it.
* Add `screen.char_callbacks` to receive platform character events.
* Remove duplicate code for mouse emulation with touch (commited by mistake).
2024-08-28 23:57:29 +02:00
Alberto Torres 6e60d806e7 Change all OpenGL extension constants to be const. Fix OpenGL ES and mobile.
* OpenGL ES wasn't compiling because there's no `GL_R16`, `GL_RG16`, `GL_RGB16`,
  `GL_RGBA16`. Replaced by their `_EXT` versions, but it wasn't compiling
  because they're defined as `var` instead of `const` and they were being used
  in a `func`.
* The GL API files were changed to fix that.
* After loading the scene, mobile platforms were throwing an error because the
  renderer was not initialized yet. That's been fixed.
* Remove unsed `gl-basic.nim`.
2024-08-24 19:22:01 +02:00
Alberto Torres f1768275f4 Remove elvis and replace remaining nimble dependencies by git submodules. 2024-08-23 00:37:45 +02:00
Alberto Torres addaf2a9e2 Fix "Map Range" node. 2024-08-22 21:42:59 +02:00
Alberto Torres 19ed29e806 Replace pixie by stb_image. Add support for 16 bit images, TGA, PSD, HDR, etc. 2024-08-22 21:38:35 +02:00
Alberto Torres 0760ab745a ArrRef: Remove unnecessary copy of murmur3 hash code. 2024-08-22 01:51:10 +02:00
Alberto Torres e7cdd61d38 Add zstd support for blend files. 2024-08-22 01:47:44 +02:00
Alberto Torres 40276c443b Update cubemap probes automatically. 2024-08-21 21:19:18 +02:00
Alberto Torres 924fa2413a Register loaders and add engine.loadScene that chooses the appropriate loader. 2024-08-21 19:22:22 +02:00
Alberto Torres 9af1322937 First commit.
* Incomplete port of myou-engine-js to nimskull, after many months of work, and
  a few extra features that weren't exactly necessary for a "first commit" to
  work. Excuse the lack of commit history up to this point.
* Bare bones structure of the documentation and the process to update it.
* Restructure of the whole project to have a more sensible organization.
* Making submodules of forks of larger libraries.
* README, licenses, AUTHORS.md.
2024-08-20 13:08:19 +02:00