From bd57f345ed9dbed1d81683e48199626de2ea9044 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 27 Jun 2025 10:18:39 -0700 Subject: Restructure project --- doc/scene.txt | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 doc/scene.txt (limited to 'doc/scene.txt') 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 @@ +@startuml + +class Scene { + +} + +Scene *-- Node + +class Camera { + +} + +class Node { + + transform +} + +Node *-- AnimationObject +Node *-- Object +Node *-- Light +Node *-- Camera +Node *-- Node + +class AnimationObject { + +} + +AnimationObject *-- Animation +AnimationObject --> AnimationState +AnimationObject --> Skeleton + +class AnimationState { + + time + + current_animation + + pose +} + +class Animation { + + name +} + +Animation *-- Keyframe + +class Keyframe { + + time + + transforms +} + +class Skeleton { + + joints +} + +class Object { + + transform +} + +Object *-- Mesh + +class Mesh { + +} + +Mesh --> BoundingVolume +Mesh --> Geometry +Mesh --> Material +Mesh --> Shader + +class Geometry { + + positions + + normals + + texcoords + + indices +} + +class BoundingVolume { + +} + +class Material { + + shader params +} + +Material o-- Texture + +class Shader { + + uniforms +} + +Shader --> VertexShader +Shader --> FragmentShader + +class VertexShader { + + pos + + normal + + texcoords + + Modelview + + Projection +} + +class FragmentShader { + + lights + + textures +} + +class Texture { + + pixels + + format +} + +@enduml -- cgit v1.2.3