Commit Graph

88 Commits (3f609310e24e1baadd7092b6dac38001bf762234)

Author SHA1 Message Date
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
Martin Felis 87eb2ab7df Mark all nodes that connect to the graph output nodes by default as active. 2022-02-20 16:00:45 +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