diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-21 14:33:37 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-21 14:33:37 +0100 |
commit | 2dd08d042aae468b23e5943ac2e9d807e5b5f6ba (patch) | |
tree | d18d73173d7c1b3da895bc68d11cf488b160b54d /doc | |
parent | 771cda23f0e716c2107cedf1ab5b20aab8daf524 (diff) | |
download | weareserver-2dd08d042aae468b23e5943ac2e9d807e5b5f6ba.tar weareserver-2dd08d042aae468b23e5943ac2e9d807e5b5f6ba.tar.bz2 weareserver-2dd08d042aae468b23e5943ac2e9d807e5b5f6ba.tar.zst |
update doc
Diffstat (limited to 'doc')
-rw-r--r-- | doc/other.md | 57 | ||||
-rw-r--r-- | doc/resources.md | 20 |
2 files changed, 48 insertions, 29 deletions
diff --git a/doc/other.md b/doc/other.md index 3108e78..76ab9e8 100644 --- a/doc/other.md +++ b/doc/other.md @@ -10,35 +10,42 @@ ## glTF extension status -| Extension | Status | -| ------------------------------- | ---------------- | -| KHR_animation_pointer | Not wanted (4) | -| KHR_draco_mesh_compression | Maybe todo | -| KHR_lights_punctual | Supported | -| KHR_materials_anisotropy | Todo | -| KHR_materials_clearcoat | Todo | -| KHR_materials_dispersion | Supported | -| KHR_materials_emissive_strength | Supported | -| KHR_materials_ior | Supported | -| KHR_materials_iridescence | Todo | -| KHR_materials_sheen | Todo | -| KHR_materials_specular | Maybe todo | -| KHR_materials_transmission | Supported | -| KHR_materials_unlit | Supported | -| KHR_materials_variants | Not required (1) | -| KHR_materials_volume | Supported | -| KHR_mesh_quantization | Maybe todo | -| KHR_texture_basisu | Not required (3) | -| KHR_texture_transform | Not required (4) | -| KHR_xmp_json_ld | Todo | -| EXT_mesh_gpu_instancing | Not required (2) | -| EXT_meshopt_compression | Todo, maybe | -| EXT_texture_webp | Supported | +| Extension | Status | +| ------------------------------------- | ---------------- | +| KHR_animation_pointer | Not required (5) | +| KHR_draco_mesh_compression | Maybe todo | +| KHR_lights_punctual | Supported | +| KHR_materials_anisotropy | Todo | +| KHR_materials_clearcoat | Todo | +| KHR_materials_dispersion | Supported | +| KHR_materials_emissive_strength | Supported | +| KHR_materials_ior | Supported | +| KHR_materials_iridescence | Todo | +| KHR_materials_sheen | Todo | +| KHR_materials_specular | Maybe todo | +| KHR_materials_transmission | Supported | +| KHR_materials_unlit | Supported | +| KHR_materials_variants | Not required (1) | +| KHR_materials_volume | Supported | +| KHR_mesh_quantization | Maybe todo | +| KHR_texture_basisu | Not required (3) | +| KHR_texture_transform | Not required (4) | +| KHR_xmp_json_ld | Todo | +| EXT_mesh_gpu_instancing | Not required (2) | +| EXT_meshopt_compression | Todo, maybe | +| EXT_texture_webp | Supported | +| VRMC_vrm | Todo | +| VRMC_vrm_animation | Todo, maybe | +| VRMC_springBone | Todo | +| VRMC_springBone_extended_collider | Todo | +| VRMC_node_constraint | Todo, maybe | +| VRMC_materials_mtoon | Todo | +| VRMC_materials_hdr_emissiveMultiplier | Todo, maybe | 1. We can do the same by sharing subresources. 2. Shared parts can be optimized to instanced drawing by the client. This would also only be a bandwidth optimization, avoiding gigantic prefabs. -3. KTX is worse then WebP in terms of size. Transcoding on the client is +3. KTX is worse than WebP in terms of size. Transcoding on the client is possible. 4. Automatic atlas packing is also possible on the client. 5. Introduces too much complexity and interfers with our animation system. diff --git a/doc/resources.md b/doc/resources.md index 05b4cfc..c015ab7 100644 --- a/doc/resources.md +++ b/doc/resources.md @@ -99,12 +99,19 @@ white except normals are zero. ## Armature +Armature is used for humanoid avatar rigging and generally follows VRM +specification. Joints are arranged in a hierarchy where transforms are +inherited. Attribute values are zipped similar to vertex attributes. + | Key | Value Type | | | ----------- | ----------- | -------------------------------------- | | `parent` | `[u16]` | Parent indecies, Root points to itself | | `transform` | `[Affine3]` | | | `name` | `[String]` | Each string prefixed with u16 length | +- **Names**: Indirectly controlled joints have an empty name. All other bones + are named like in [VRMC_vrm]. + ## LightPart | Key | Value Type | @@ -124,10 +131,13 @@ white except normals are zero. ## EnvironmentPart -| Key | Value Type | | -| -------- | -------------- | ---------------- | -| `skybox` | `Res` | | -| `sun` | `Vec3`, `Vec3` | Direction, Color | +| Key | Value Type | | +| -------- | -------------- | ------------------------ | +| `skybox` | `Res<Texture>` | OpenEXR support required | +| `sun` | `Vec3`, `Vec3` | Direction, Color | + +- **Skybox**: Equirectangular projection is used. TODO: Unit for Luminous + intensity? lm/sr? ## Texture @@ -155,3 +165,5 @@ Only one key for shape should be set. [KHR_materials_dispersion]: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_dispersion [KHR_lights_punctual]: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_lights_punctual [KHR_lights_unlit]: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_lights_unlit +[VRMC_vrm]: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm-1.0 +[VRMC_springBone]: https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_springBone-1.0 |