diff options
author | 3gg <3gg@shellblade.net> | 2023-02-04 14:36:02 -0800 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2023-02-04 14:36:02 -0800 |
commit | 8068d0a816b3efd17ebb0dcf468c6d333e3577d3 (patch) | |
tree | f88f0845c34efbb1c43f88ea71fcbf32ea5adae9 /gfx/doc | |
parent | f319f0bb59f5e05bd06dcd160699f2b0f2f14e8a (diff) |
Add support for skeletal animation.
Diffstat (limited to 'gfx/doc')
-rw-r--r-- | gfx/doc/extern/Scene Graph - CSE 167.pdf | bin | 0 -> 890801 bytes | |||
-rw-r--r-- | gfx/doc/scene.png | bin | 45239 -> 59119 bytes | |||
-rw-r--r-- | gfx/doc/scene.txt | 37 |
3 files changed, 33 insertions, 4 deletions
diff --git a/gfx/doc/extern/Scene Graph - CSE 167.pdf b/gfx/doc/extern/Scene Graph - CSE 167.pdf new file mode 100644 index 0000000..5fbbb10 --- /dev/null +++ b/gfx/doc/extern/Scene Graph - CSE 167.pdf | |||
Binary files differ | |||
diff --git a/gfx/doc/scene.png b/gfx/doc/scene.png index 017e91b..85d2447 100644 --- a/gfx/doc/scene.png +++ b/gfx/doc/scene.png | |||
Binary files differ | |||
diff --git a/gfx/doc/scene.txt b/gfx/doc/scene.txt index dc22927..a771488 100644 --- a/gfx/doc/scene.txt +++ b/gfx/doc/scene.txt | |||
@@ -4,7 +4,6 @@ class Scene { | |||
4 | 4 | ||
5 | } | 5 | } |
6 | 6 | ||
7 | Scene *-- Camera | ||
8 | Scene *-- Node | 7 | Scene *-- Node |
9 | 8 | ||
10 | class Camera { | 9 | class Camera { |
@@ -15,11 +14,41 @@ class Node { | |||
15 | + transform | 14 | + transform |
16 | } | 15 | } |
17 | 16 | ||
17 | Node *-- AnimationObject | ||
18 | Node *-- Object | 18 | Node *-- Object |
19 | Node o-- Light : "affected by" | 19 | Node *-- Light |
20 | Node o-- Camera | 20 | Node *-- Camera |
21 | Node *-- Node | 21 | Node *-- Node |
22 | 22 | ||
23 | class AnimationObject { | ||
24 | |||
25 | } | ||
26 | |||
27 | AnimationObject *-- Animation | ||
28 | AnimationObject --> AnimationState | ||
29 | AnimationObject --> Skeleton | ||
30 | |||
31 | class AnimationState { | ||
32 | + time | ||
33 | + current_animation | ||
34 | + pose | ||
35 | } | ||
36 | |||
37 | class Animation { | ||
38 | + name | ||
39 | } | ||
40 | |||
41 | Animation *-- Keyframe | ||
42 | |||
43 | class Keyframe { | ||
44 | + time | ||
45 | + transforms | ||
46 | } | ||
47 | |||
48 | class Skeleton { | ||
49 | + joints | ||
50 | } | ||
51 | |||
23 | class Object { | 52 | class Object { |
24 | + transform | 53 | + transform |
25 | } | 54 | } |
@@ -33,6 +62,7 @@ class Mesh { | |||
33 | Mesh --> BoundingVolume | 62 | Mesh --> BoundingVolume |
34 | Mesh --> Geometry | 63 | Mesh --> Geometry |
35 | Mesh --> Material | 64 | Mesh --> Material |
65 | Mesh --> Shader | ||
36 | 66 | ||
37 | class Geometry { | 67 | class Geometry { |
38 | + positions | 68 | + positions |
@@ -49,7 +79,6 @@ class Material { | |||
49 | + shader params | 79 | + shader params |
50 | } | 80 | } |
51 | 81 | ||
52 | Material --> Shader | ||
53 | Material o-- Texture | 82 | Material o-- Texture |
54 | 83 | ||
55 | class Shader { | 84 | class Shader { |