Commit Graph
100 Commits
Author SHA1 Message Date
Martin Felis 89fedce539 Cleanup. 2025-04-11 13:08:19 +02:00
Martin Felis f6f7e92cea Added name to AnimationResource. 2025-04-11 13:05:50 +02:00
Martin Felis d32c247cc0 Cleaned up includes. 2025-04-11 13:03:38 +02:00
Martin Felis 36c7f7a11e Refactor/cleanup of SyncTrack and added serialization to/from json. 2025-04-11 12:22:03 +02:00
Martin Felis 3b5537fc9d Minor cleanup. 2025-04-11 12:22:03 +02:00
Martin Felis c173707a18 Minor cleanup and refactoring. 2025-03-30 22:35:49 +02:00
Martin Felis 887131af37 Added AnimationFileResource that combine animations with sync tracks. 2025-03-20 16:16:16 +01:00
Martin Felis 86ea476881 Renamed AnimData to Pose. 2025-03-19 21:43:01 +01:00
Martin Felis f52b19a8d2 Further cleanup and added comments. 2025-03-19 21:12:27 +01:00
Martin Felis 283306f225 Minor cleanup and added comments. 2025-03-18 22:20:50 +01:00
Martin Felis b4eda31242 AnimGraphEvalTests now properly evaluates. 2025-03-17 22:23:12 +01:00
Martin Felis 1870a9d214 Added custom imgui-node-editor changes. 2025-03-16 22:59:05 +01:00
Martin Felis 07d02a2e42 AnimGraphEvalTests now compiles again. 2025-03-16 22:58:14 +01:00
Martin Felis 2ea2c56bbb Refactored BlendTreeResources to be a subclass of AnimGraphResource.
The latter is used to abstract saving/loading for both BlendTrees and StateMachines.
2025-03-16 18:15:31 +01:00
Martin Felis f351939d61 Tiny cleanup. 2025-03-14 12:40:08 +01:00
Martin Felis a977698336 Fixed crash when starting up and no proper application config was available. 2025-03-14 12:36:22 +01:00
Martin Felis 0f9f9d6283 Added file dialog to graph editor. 2025-03-11 23:02:11 +01:00
Martin Felis 6d9a6fca56 Added https://github.com/btzy/nativefiledialog-extended at revision a1a401062819beb8c3da84518ab1fe7de88632db 2025-03-11 22:58:39 +01:00
Martin Felis 9298e5ad0e Fixed memory leak in editor. 2025-03-11 22:16:03 +01:00
Martin Felis a1c4630ee7 Nodes can now be deleted in the blend tree editor. 2025-03-02 19:30:26 +01:00
Martin Felis acbe3a4ed5 Fixed adding links to output node of blend tree. 2025-03-02 12:56:47 +01:00
Martin Felis 25776f2b2d Add a suffix when creating blend tree input or output sockets. 2025-03-02 12:49:45 +01:00
Martin Felis a2e8de0b70 Added NodeConnectionDebug tool. 2025-03-02 12:48:39 +01:00
Martin Felis 55bcd9cd99 BlendTree node names are now always unique. 2025-03-02 12:46:26 +01:00
Martin Felis feb5f57a86 Refactored construction of AnimNodeResources and AnimGraphResources by using factory methods more consistently. 2025-03-02 12:45:55 +01:00
Martin Felis 5a6ac92a48 Using bits of the blueprints examples for the AnimGraphEditor. 2025-02-16 22:12:31 +01:00
Martin Felis a467715ce3 Switched to imgui fork https://github.com/thedmd/imgui/commits/feature/docking-layout-external/ commit 899d85eb9489796f73a4dc67ad86892729707ce9 2025-02-16 17:15:41 +01:00
Martin Felis 589b45554f Updated imgui to v1.91.8-docking. 2025-02-16 16:08:20 +01:00
Martin Felis 45d56dea0d Minor cleanup in editor. 2025-02-16 14:59:48 +01:00
Martin Felis 40f631c51a Fixed memory leak by introducing virtual node descriptors.
AnimNodeResources do not reference an actual node anymore. However, we still need descriptors to check whether connections are valid.

For this we have VirtualNodeDescriptors for which all sockets point to nullptr.
2025-02-16 14:22:13 +01:00
Martin Felis 4b378adc91 Minor cleanup. 2025-02-16 12:31:44 +01:00
Martin Felis 99d5a5eb0f Minor refactor. 2024-05-07 18:50:38 +02:00
Martin Felis 698abbce4b BlendTree input and output sockets can now be registered via the AnimGraphResource. 2024-05-01 21:49:34 +02:00
Martin Felis b9789bd1e1 Minor refactor. 2024-05-01 13:17:25 +02:00
Martin Felis fd032c273b Links can now be removed by hovering link and pressing the Delete key. 2024-05-01 13:11:54 +02:00
Martin Felis da431a3879 Fixed setting location of new nodes and minor connection rejection refactor. 2024-05-01 13:03:57 +02:00
Martin Felis 84fc49af30 Properly store and restore node positions in editor. 2024-05-01 12:50:16 +02:00
Martin Felis 7c7a765455 New nodes now spawn at popup start location. 2024-05-01 11:59:30 +02:00
Martin Felis e3baa65c3b Added breadcrumb navigation for embedded graphs. 2024-05-01 10:58:33 +02:00
Martin Felis 44087d7a7c Removed legacy editor, started working on editing embedded graphs. 2024-04-30 18:40:54 +02:00
Martin Felis e8af30d10c Added embedded fonts. 2024-04-30 17:49:29 +02:00
Martin Felis 4d1990bea8 Reactivated the sidebar in the new node editor. 2024-04-25 21:40:09 +02:00
Martin Felis 5e34aaf3db Extremely basic blend tree editing. 2024-04-25 21:12:08 +02:00
Martin Felis 3fb2995b02 Fixed building of editor app, though crashes everywhere. 2024-04-24 21:58:47 +02:00
Martin Felis c267276be3 Fixed connection validation when one of the nodes is an embedded blend tree. 2024-04-24 21:38:11 +02:00
Martin Felis 53c0bff7a6 Minor cleanup. 2024-04-21 12:47:19 +02:00
Martin Felis 91e226945c Added basic connection validation and connection removal to BlendTreeResources. 2024-04-21 12:42:49 +02:00
Martin Felis d95bc9fb9c Made BlendTreeResource::m_nodes and ::m_connections private.
This is a prerequisite to properly track Node input/output connections and to compute eval order in the BlendTreeResources.
2024-04-16 22:18:11 +02:00
Martin Felis 2d5337ed1d Reduced connection data block size.
Previously we allocated a block for each connection. However when an output is reused by multiple connections this lead to duplicates. It also obfuscated which block is actually being used.
2024-04-08 21:52:03 +02:00
Martin Felis 9f9ac60f9c Cleaned up some compilation issues for the AnimGraphEditor. 2024-04-05 00:44:37 +02:00
Martin Felis 1741238a61 Fixed variable shadowing. 2024-04-05 00:43:41 +02:00
Martin Felis 8694a11416 Removed even more unused files. 2024-04-05 00:18:07 +02:00
Martin Felis 3444f8a625 Removed dead code and unused files. 2024-04-04 19:47:24 +02:00
Martin Felis cd56efca3d Only storing single socket in AnimGraphConnections and simplified wiring logic. 2024-04-04 19:36:20 +02:00
Martin Felis 28eca48a61 Added a test that checks socket propagation into an embedded BlendTree. 2024-04-01 17:59:25 +02:00
Martin Felis 76ea38f118 Added support of time updates for simple embedded graphs. 2024-04-01 12:33:23 +02:00
Martin Felis 0aebe44bd5 Started working on evaluating embedded blend trees. 2024-03-25 22:26:29 +01:00
Martin Felis 99f11e61d8 Refactored AnimGraphResourceTests such that some tests use reusable fixtures. 2024-03-25 21:10:27 +01:00
Martin Felis 116bf7699b Added support of saving and loading of embedded blend tree resources. 2024-03-24 21:50:22 +01:00
Martin Felis 3a7f470acf Fixed memory leak in ResourceSaveLoadMathGraphInputs test. 2024-03-22 12:25:42 +01:00
Martin Felis e687c9b613 Restored AnimGraphResourceTests. 2024-03-20 22:40:46 +01:00
Martin Felis ccb9bc4e9b Working on unified BlendTree and StateMachine handling. 2024-03-17 22:06:27 +01:00
Martin Felis c7d2d195a3 Updated ozz-animation to version 0.14.3 (commit 92c392b667844) 2024-03-17 12:47:11 +01:00
Martin Felis 1ef53d6486 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	src/AnimGraph/AnimGraphEditor.cc
2024-03-16 20:08:45 +01:00
Martin Felis fdb2b6ffc5 Some progress with new graph editor. 2024-03-16 19:49:41 +01:00
Martin Felis a5af917f4b Updated imgui-node-editor to commit 32dc92e 2024-03-03 20:22:06 +01:00
Martin Felis a79ffaa420 WIP: new anim graph editor can show loaded graph. 2024-03-03 20:20:24 +01:00
Martin Felis e61180c4a7 WIP: implementation of new anim graph editor. 2024-03-01 14:26:52 +01:00
Martin Felis 8388fbfe3e Better separated 3D view and graph editor navigation. 2024-03-01 14:00:14 +01:00
Martin Felis dc958dcabd Fixed some clang-tidy warnings. 2024-03-01 13:59:00 +01:00
Martin Felis 8b7de58131 Disable ozz tests by default. 2024-03-01 11:13:05 +01:00
Martin Felis 4f0331f941 Fixed sgl initialization on my laptop. 2023-05-13 09:30:13 +02:00
Martin Felis 8c68737f62 Fixed referenced filenames in AnimGraphResourceTests. 2023-04-21 12:39:09 +02:00
Martin Felis 8dfc8dd05c Started thedmd/imgui-node-editor integration 2023-04-21 11:55:36 +02:00
Martin Felis 2dbf8373a8 imnodes: fixed compatibility with dear imgui 1.89.5 2023-04-21 10:04:04 +02:00
Martin Felis c809fe0c8c Fixed various clang-tidy messages. 2023-04-21 10:04:04 +02:00
Martin Felis c659909020 Fixed loading of graphs in the GraphEditor. 2023-04-21 10:04:04 +02:00
Martin Felis 9a1a82f681 Fixed loading of graphs in the GraphEditor. 2023-04-15 21:52:01 +02:00
Martin Felis 3f609310e2 Properly enabled docking for the application. 2023-04-15 00:24:24 +02:00
Martin Felis 26d070c4d3 Using latest imgui docking branch. 2023-04-15 00:23:52 +02:00
Martin Felis 72bcf8a21b Updated ozz-animation to version 0.14.1. 2023-04-15 00:07:29 +02:00
Martin Felis eb70c06c57 Updated sokol to latest git commit 1d48f3a. 2023-04-15 00:06:12 +02:00
Martin Felis 2e631b4fc3 Updated imgui to 1.89.5 2023-04-14 17:44:25 +02:00
Martin Felis 509f9616ad Scene now rendered to separate widget. 2023-04-14 17:21:53 +02:00
Martin Felis e8ef7924d2 Fixed Blend2Node::UpdateFlags(). 2023-04-03 19:31:09 +02:00
Martin Felis 0a45497de9 Added LockTranslationNode. 2023-04-02 21:40:49 +02:00
Martin Felis 7c8b44247b Fixed SpeedScale node not properly propagating time. 2023-04-02 21:24:12 +02:00
Martin Felis abf44a875a Added support for const node inputs. 2023-04-02 16:26:24 +02:00
Martin Felis 42303d5f47 Store the input values of nodes if they are non-zero. 2023-04-01 22:53:53 +02:00
Martin Felis 3d55b748e6 Refactored anim graph data usage and evaluation.
- Refactored NodeSocketAccessor to NodeDescriptor.
- Connections are wired up during AnimGraph instantiation.
  - Output and input sockets point to the same memory location.
  - No re-wiring needed during evaluation.
  - AnimGraph are pre-allocated (refactoring for less memory usage postponed).
- Evaluation of AnimGraph now possible from the editor.
2023-04-01 14:16:20 +02:00
Martin Felis 91607baa9d Initial step for connectivity refactor.
Instead of wiring up pointers with prepareNodeEval() and finishNodeEval() use for each connection a single memory block where outputs and inputs point to.
2023-03-30 23:50:07 +02:00
Martin Felis 411aa5ef20 Better split between runtime library and editor. 2023-03-30 18:11:54 +02:00
Martin Felis 9168dec9f9 Added NodeDescriptor::UpdateFlags() to set Blend2 weight input flags. 2023-03-30 16:53:09 +02:00
Martin Felis 9dd10e8f27 Initial version of NodeDescriptor which aims to replace NodeSocketAccessor. 2023-03-29 22:25:09 +02:00
Martin Felis 08283d9bcf Evaluation of very simple graphs works. 2023-03-28 22:00:58 +02:00
Martin Felis e38c0b4934 Started working on graph initialization in ATP Editor. 2023-03-26 23:39:11 +02:00
Martin Felis a1931185d8 Simple AnimationPlayer now working. 2023-03-26 18:53:32 +02:00
Martin Felis 80ea25483b Started working on the animation player widget. 2023-03-26 15:01:44 +02:00
Martin Felis 7152fa74e1 Added SkinnedMeshResource 2023-03-26 13:28:12 +02:00
Martin Felis 15871f349c Updated ozz-animation to version 0.14.1 @35b2efd4 2023-03-26 13:28:12 +02:00