made vast improvements to rendering engine and node structure

This was many changes that were largely fundamentally related. They included:
- More const modifiers to enforce read only node graphs
- Support for fragment and vertex shaders from the nodes
- Support for node code loaded externally (embedded into the binary)
- Fixed issue preventing two textures from being used in a shader
- Removed several unused functions and cleaned up code
- Fixed video media node misreading its matrix input
This commit is contained in:
itsmattkc
2019-12-09 23:50:52 +11:00
parent daafcbfc95
commit 26b3993b9d
31 changed files with 287 additions and 233 deletions
+13 -7
View File
@@ -97,11 +97,6 @@ public:
*/
virtual QString Description() const;
/**
* @brief Signals the Node that it won't be used for a while and can deallocate some memory
*/
virtual void Release();
/**
* @brief Function called to retranslate parameter names (should be overridden in derivatives)
*/
@@ -136,10 +131,17 @@ public:
*/
QList<Node*> GetImmediateDependencies() const;
virtual bool IsAccelerated() const;
/**
* @brief Generate OpenCL hardware accelerated code for this Node
* @brief Generate hardware accelerated code for this Node
*/
virtual QString Code() const;
virtual QString CodeVertex() const;
/**
* @brief Generate hardware accelerated code for this Node
*/
virtual QString CodeFragment() const;
/**
* @brief Returns the parameter with the specified ID (or nullptr if it doesn't exist)
@@ -266,6 +268,8 @@ public:
NodeOutput* output() const;
virtual QVariant InputValueFromTable(NodeInput* input, const NodeValueTable& table) const;
protected:
void AddInput(NodeInput* input);
@@ -275,6 +279,8 @@ protected:
virtual void DependentEdgeChanged(NodeInput* from);
static QString ReadFileAsString(const QString& filename);
public slots:
signals: