aboutsummaryrefslogtreecommitdiff
path: root/gfx/doc
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2023-02-04 14:36:02 -0800
committer3gg <3gg@shellblade.net>2023-02-04 14:36:02 -0800
commit8068d0a816b3efd17ebb0dcf468c6d333e3577d3 (patch)
treef88f0845c34efbb1c43f88ea71fcbf32ea5adae9 /gfx/doc
parentf319f0bb59f5e05bd06dcd160699f2b0f2f14e8a (diff)
Add support for skeletal animation.
Diffstat (limited to 'gfx/doc')
-rw-r--r--gfx/doc/extern/Scene Graph - CSE 167.pdfbin0 -> 890801 bytes
-rw-r--r--gfx/doc/scene.pngbin45239 -> 59119 bytes
-rw-r--r--gfx/doc/scene.txt37
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
7Scene *-- Camera
8Scene *-- Node 7Scene *-- Node
9 8
10class Camera { 9class Camera {
@@ -15,11 +14,41 @@ class Node {
15 + transform 14 + transform
16} 15}
17 16
17Node *-- AnimationObject
18Node *-- Object 18Node *-- Object
19Node o-- Light : "affected by" 19Node *-- Light
20Node o-- Camera 20Node *-- Camera
21Node *-- Node 21Node *-- Node
22 22
23class AnimationObject {
24
25}
26
27AnimationObject *-- Animation
28AnimationObject --> AnimationState
29AnimationObject --> Skeleton
30
31class AnimationState {
32 + time
33 + current_animation
34 + pose
35}
36
37class Animation {
38 + name
39}
40
41Animation *-- Keyframe
42
43class Keyframe {
44 + time
45 + transforms
46}
47
48class Skeleton {
49 + joints
50}
51
23class Object { 52class Object {
24 + transform 53 + transform
25} 54}
@@ -33,6 +62,7 @@ class Mesh {
33Mesh --> BoundingVolume 62Mesh --> BoundingVolume
34Mesh --> Geometry 63Mesh --> Geometry
35Mesh --> Material 64Mesh --> Material
65Mesh --> Shader
36 66
37class Geometry { 67class Geometry {
38 + positions 68 + positions
@@ -49,7 +79,6 @@ class Material {
49 + shader params 79 + shader params
50} 80}
51 81
52Material --> Shader
53Material o-- Texture 82Material o-- Texture
54 83
55class Shader { 84class Shader {