Initial graph evaluations, added Float to Vec3 Node, minor editor tweaks.

This commit is contained in:
Martin Felis
2022-04-03 21:05:11 +02:00
parent 08ae84fcb4
commit 5d8c1e289b
6 changed files with 269 additions and 59 deletions
+14
View File
@@ -74,8 +74,10 @@ struct AnimGraph {
}
void evalInputNode();
void prepareNodeEval(size_t node_index);
void finishNodeEval(size_t node_index);
void evalOutputNode();
void evalSyncTracks();
void updateTime(float dt);
@@ -91,6 +93,18 @@ struct AnimGraph {
Socket* getInputSocket(const std::string& name);
Socket* getOutputSocket(const std::string& name);
const Socket* getInputSocket(const std::string& name) const;
const Socket* getOutputSocket(const std::string& name) const;
void* getInputPtr(const std::string& name) const {
const Socket* input_socket = getInputSocket(name);
if (input_socket != nullptr) {
return input_socket->m_value.ptr;
}
return nullptr;
}
int getNodeEvalOrderIndex(const AnimNode* node) {
for (size_t i = 0, n = m_eval_ordered_nodes.size(); i < n; i++) {
if (m_eval_ordered_nodes[i] == node) {