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.
This commit is contained in:
itsmattkc
2020-03-29 03:11:30 +11:00
parent 52acb272bf
commit 7100d00060
20 changed files with 209 additions and 56 deletions
+5
View File
@@ -37,6 +37,11 @@ QString PanNode::Description() const
return tr("Adjust the stereo panning of an audio source.");
}
Node::Capabilities PanNode::GetCapabilities(const NodeValueDatabase &) const
{
return kSampleProcessor;
}
NodeInput *PanNode::ProcessesSamplesFrom() const
{
return samples_input_;
+1
View File
@@ -15,6 +15,7 @@ public:
virtual QString Category() const override;
virtual QString Description() const override;
virtual Capabilities GetCapabilities(const NodeValueDatabase&) const override;
virtual NodeInput* ProcessesSamplesFrom() const override;
virtual void ProcessSamples(const NodeValueDatabase* values, const AudioRenderingParams& params, const float* input, float* output, int index) const override;
+5
View File
@@ -36,6 +36,11 @@ QString VolumeNode::Description() const
return tr("Adjusts the volume of an audio source.");
}
Node::Capabilities VolumeNode::GetCapabilities(const NodeValueDatabase &) const
{
return kSampleProcessor;
}
NodeInput *VolumeNode::ProcessesSamplesFrom() const
{
return samples_input_;
+1
View File
@@ -15,6 +15,7 @@ public:
virtual QString Category() const override;
virtual QString Description() const override;
virtual Capabilities GetCapabilities(const NodeValueDatabase&) const override;
virtual NodeInput* ProcessesSamplesFrom() const override;
virtual void ProcessSamples(const NodeValueDatabase* values, const AudioRenderingParams& params, const float* input, float* output, int index) const override;