Files
oak-editor/app/node/external.h
T
itsmattkc 7100d00060 nodes: made changes to the node system to allow for context sensitive shader code
Primarily implemented for the math node so a new shader can be generated and
compiled based on what inputs the node is receiving.
2020-03-29 03:11:30 +11:00

37 lines
946 B
C++

#ifndef EXTERNALNODE_H
#define EXTERNALNODE_H
#include <QXmlStreamReader>
#include "node.h"
#include "metareader.h"
/**
* @brief A node generated from an external XML metadata file
*/
class ExternalNode : public Node
{
public:
ExternalNode(const QString& xml_meta_filename);
virtual Node* copy() const override;
virtual QString Name() const override;
virtual QString id() const override;
virtual QString Category() const override;
virtual QString Description() const override;
virtual void Retranslate() override;
virtual Capabilities GetCapabilities(const NodeValueDatabase&) const override;
virtual QString ShaderVertexCode(const NodeValueDatabase&) const override;
virtual QString ShaderFragmentCode(const NodeValueDatabase&) const override;
virtual int ShaderIterations() const override;
virtual NodeInput* ShaderIterativeInput() const override;
private:
NodeMetaReader meta_;
};
#endif // EXTERNALNODE_H