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
Martin Felis
bf3189ff49
Some more improvements of editor persistence.
2023-03-26 13:28:12 +02:00
Martin Felis
3d387a5dad
Better serialization of application state.
2023-03-25 23:50:03 +01:00
Martin Felis
8a91c7700a
Minor UI improvements.
2023-03-16 23:51:49 +01:00
Martin Felis
aa9ab1def1
Added missing test data
2022-10-18 22:34:01 +02:00
Martin Felis
2a8a5a5e40
Use std::list for animation data eval buffer..
2022-04-18 23:14:34 +02:00
Martin Felis
68331467f0
Refactored graph evaluations.
2022-04-18 20:02:16 +02:00
Martin Felis
5e7a48b2eb
WIP: graph evaluations. Fixed various memory issues, better tests.
2022-04-14 18:03:36 +02:00
Martin Felis
2da07ef961
Working on graph evaluations. WIP.
2022-04-13 15:48:39 +02:00
Martin Felis
b518220576
Added test which creates skeleton and animation during runtime.
2022-04-13 11:14:29 +02:00
Martin Felis
eeef635c64
Initial works for actial animation sampling and graph evaluation.
2022-04-11 16:46:09 +02:00
Martin Felis
bf0c7a7daa
Added Tests for MathAdd Node
2022-04-11 11:40:53 +02:00
Martin Felis
e7314e3477
imnodes: pin coloring and connectivity logic
2022-04-08 12:48:04 +02:00
Martin Felis
5d8c1e289b
Initial graph evaluations, added Float to Vec3 Node, minor editor tweaks.
2022-04-03 21:05:11 +02:00
Martin Felis
08ae84fcb4
New evaluation scheme.
...
- Animation Data are always referenced via a pointer in nodes.
- Animation Data storage pointers are injected from graph when node is evaluated.
- Node value outputs always stored in node.
- Node value inputs always referenced via pointer. References are created when instantiating the graph.
2022-04-01 13:19:54 +02:00
Martin Felis
abddbea62b
Refactoring.
2022-03-25 12:05:56 +01:00
Martin Felis
6c0c0599f8
Removed old animation graph code.
2022-03-25 11:51:37 +01:00
Martin Felis
72a67195e6
Use socket pointers instead of indices for connections.
2022-03-25 11:23:03 +01:00
Martin Felis
84a9ef6f14
Use node pointer to check whether we use graph input/output nodes instead of indices.
2022-03-25 11:03:53 +01:00
Martin Felis
2f646bc5ec
Simpler conversion SocketType <-> Strings.
2022-03-25 10:59:12 +01:00
Martin Felis
73e7a60875
Minor cleanup.
2022-02-24 23:47:31 +01:00
Martin Felis
976875c218
Added index member to node, preparing synctrack and node evaluation.
2022-02-24 22:55:40 +01:00
Martin Felis
d6453911e2
Removed node input splitting.
2022-02-24 22:06:47 +01:00
Martin Felis
306a2cb4d8
Minor fix to node input splitting. Not sure it is a good idea anymore, though...
2022-02-22 22:49:12 +01:00
Martin Felis
ef74f39cf4
Splitted animation and data node inputs.
2022-02-22 22:34:13 +01:00
Martin Felis
af5d27db85
Simple time propagation works.
2022-02-22 22:03:26 +01:00