summaryrefslogtreecommitdiff
path: root/doc/resources.md
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-21 14:33:37 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-21 14:33:37 +0100
commit2dd08d042aae468b23e5943ac2e9d807e5b5f6ba (patch)
treed18d73173d7c1b3da895bc68d11cf488b160b54d /doc/resources.md
parent771cda23f0e716c2107cedf1ab5b20aab8daf524 (diff)
downloadweareserver-2dd08d042aae468b23e5943ac2e9d807e5b5f6ba.tar
weareserver-2dd08d042aae468b23e5943ac2e9d807e5b5f6ba.tar.bz2
weareserver-2dd08d042aae468b23e5943ac2e9d807e5b5f6ba.tar.zst
update doc
Diffstat (limited to 'doc/resources.md')
-rw-r--r--doc/resources.md20
1 files changed, 16 insertions, 4 deletions
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