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
698abbce4b
BlendTree input and output sockets can now be registered via the AnimGraphResource.
2024-05-01 21:49:34 +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
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
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
8c68737f62
Fixed referenced filenames in AnimGraphResourceTests.
2023-04-21 12:39:09 +02:00
Martin Felis
abf44a875a
Added support for const node inputs.
2023-04-02 16:26:24 +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
e38c0b4934
Started working on graph initialization in ATP Editor.
2023-03-26 23:39:11 +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
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
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
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
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
Martin Felis
b01acc2a88
Added marking of nodes active/inactive.
2022-02-20 15:57:19 +01:00
Martin Felis
618f6b613e
Minor test cleanup.
2022-02-19 12:18:54 +01:00
Martin Felis
da916a7346
Added node ordering code and tests.
2022-02-19 12:16:57 +01:00
Martin Felis
bd304bde4e
Give access to node inputs in runtime graph, initial works for marking of active nodes.
2022-02-19 00:25:51 +01:00
Martin Felis
3e02f28b18
Graph Input/Output wiring added.
2022-02-14 22:37:19 +01:00
Martin Felis
2b7cbe9d4c
Simple graph output connection working.
2022-02-12 11:46:50 +01:00
Martin Felis
c2ae0a11d2
WIP AnimGraph instantiation.
2022-02-12 10:14:26 +01:00
Martin Felis
c5b0d1f976
Initial graph editor and graph instantiation from file.
2022-02-11 16:51:18 +01:00