Files
LifeProject/LifeGraphics/shaders/IShaderGraphNode.cpp
T
2025-05-13 02:46:21 +03:00

60 lines
1.3 KiB
C++

#include <shaders/IShaderGraphNode.h>
namespace LifeGraphics
{
IShaderGraphNode::IShaderGraphNode()
:checked(false), resource_id(0)
{
}
bool IShaderGraphNode::Serialize(LifeCore::IMemoryStream* stm)
{
return IPropertyHolder::Serialize(stm);
}
bool IShaderGraphNode::Deserialize(LifeCore::IMemoryStream* stm)
{
return IPropertyHolder::Deserialize(stm);
}
IShaderGraphNodePort* IShaderGraphNode::GetInputPort(size_t id)
{
return Inputs[id];
}
IShaderGraphNodePort* IShaderGraphNode::GetInputPortByName(const String& name)
{
size_t cnt = Inputs.size();
for(size_t i = 0; i < cnt; i++){
if(Inputs[i]->Name == name)
return Inputs[i];
}
return nullptr;
}
IShaderGraphNodePort* IShaderGraphNode::GetOutputPortByName(const String& name)
{
size_t cnt = Outputs.size();
for(size_t i = 0; i < cnt; i++){
if(Outputs[i]->Name == name)
return Outputs[i];
}
return nullptr;
}
IShaderGraphNodePort* IShaderGraphNode::GetOutputPortByID(size_t id){
size_t cnt = Outputs.size();
if(id < cnt){
return Outputs[id];
}
return nullptr;
}
size_t IShaderGraphNode::GetOutputID(IShaderGraphNodePort* port)
{
for(size_t i = 0; i < Outputs.size(); i++){
if(Outputs[i] == port)
return i;
}
return 100500;
}
}