aboutsummaryrefslogtreecommitdiff
path: root/doc/scene.txt
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-06-27 10:18:39 -0700
committer3gg <3gg@shellblade.net>2025-06-27 10:18:39 -0700
commitbd57f345ed9dbed1d81683e48199626de2ea9044 (patch)
tree4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /doc/scene.txt
parent9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff)
Restructure projectHEADmain
Diffstat (limited to 'doc/scene.txt')
-rw-r--r--doc/scene.txt109
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
3class Scene {
4
5}
6
7Scene *-- Node
8
9class Camera {
10
11}
12
13class Node {
14 + transform
15}
16
17Node *-- AnimationObject
18Node *-- Object
19Node *-- Light
20Node *-- Camera
21Node *-- Node
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
52class Object {
53 + transform
54}
55
56Object *-- Mesh
57
58class Mesh {
59
60}
61
62Mesh --> BoundingVolume
63Mesh --> Geometry
64Mesh --> Material
65Mesh --> Shader
66
67class Geometry {
68 + positions
69 + normals
70 + texcoords
71 + indices
72}
73
74class BoundingVolume {
75
76}
77
78class Material {
79 + shader params
80}
81
82Material o-- Texture
83
84class Shader {
85 + uniforms
86}
87
88Shader --> VertexShader
89Shader --> FragmentShader
90
91class VertexShader {
92 + pos
93 + normal
94 + texcoords
95 + Modelview
96 + Projection
97}
98
99class FragmentShader {
100 + lights
101 + textures
102}
103
104class Texture {
105 + pixels
106 + format
107}
108
109@enduml