diff options
author | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
commit | bd57f345ed9dbed1d81683e48199626de2ea9044 (patch) | |
tree | 4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /doc/scene.txt | |
parent | 9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff) |
Diffstat (limited to 'doc/scene.txt')
-rw-r--r-- | doc/scene.txt | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/doc/scene.txt b/doc/scene.txt new file mode 100644 index 0000000..a771488 --- /dev/null +++ b/doc/scene.txt | |||
@@ -0,0 +1,109 @@ | |||
1 | @startuml | ||
2 | |||
3 | class Scene { | ||
4 | |||
5 | } | ||
6 | |||
7 | Scene *-- Node | ||
8 | |||
9 | class Camera { | ||
10 | |||
11 | } | ||
12 | |||
13 | class Node { | ||
14 | + transform | ||
15 | } | ||
16 | |||
17 | Node *-- AnimationObject | ||
18 | Node *-- Object | ||
19 | Node *-- Light | ||
20 | Node *-- Camera | ||
21 | Node *-- Node | ||
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 | |||
52 | class Object { | ||
53 | + transform | ||
54 | } | ||
55 | |||
56 | Object *-- Mesh | ||
57 | |||
58 | class Mesh { | ||
59 | |||
60 | } | ||
61 | |||
62 | Mesh --> BoundingVolume | ||
63 | Mesh --> Geometry | ||
64 | Mesh --> Material | ||
65 | Mesh --> Shader | ||
66 | |||
67 | class Geometry { | ||
68 | + positions | ||
69 | + normals | ||
70 | + texcoords | ||
71 | + indices | ||
72 | } | ||
73 | |||
74 | class BoundingVolume { | ||
75 | |||
76 | } | ||
77 | |||
78 | class Material { | ||
79 | + shader params | ||
80 | } | ||
81 | |||
82 | Material o-- Texture | ||
83 | |||
84 | class Shader { | ||
85 | + uniforms | ||
86 | } | ||
87 | |||
88 | Shader --> VertexShader | ||
89 | Shader --> FragmentShader | ||
90 | |||
91 | class VertexShader { | ||
92 | + pos | ||
93 | + normal | ||
94 | + texcoords | ||
95 | + Modelview | ||
96 | + Projection | ||
97 | } | ||
98 | |||
99 | class FragmentShader { | ||
100 | + lights | ||
101 | + textures | ||
102 | } | ||
103 | |||
104 | class Texture { | ||
105 | + pixels | ||
106 | + format | ||
107 | } | ||
108 | |||
109 | @enduml | ||