// Copyright (C) 2020 Jérôme Leclercq // This file is part of the "Nazara Engine - Shader generator" // For conditions of distribution and use, see copyright notice in Config.hpp #include #include namespace Nz::ShaderNodes { inline std::shared_ptr BuiltinVariable::Build(BuiltinEntry variable, ShaderExpressionType varType) { auto node = std::make_shared(); node->entry = variable; node->type = varType; return node; } inline std::shared_ptr InputVariable::Build(std::string varName, ShaderExpressionType varType) { auto node = std::make_shared(); node->name = std::move(varName); node->type = varType; return node; } inline std::shared_ptr LocalVariable::Build(std::string varName, ShaderExpressionType varType) { auto node = std::make_shared(); node->name = std::move(varName); node->type = varType; return node; } inline std::shared_ptr OutputVariable::Build(std::string varName, ShaderExpressionType varType) { auto node = std::make_shared(); node->name = std::move(varName); node->type = varType; return node; } inline std::shared_ptr ParameterVariable::Build(std::string varName, ShaderExpressionType varType) { auto node = std::make_shared(); node->name = std::move(varName); node->type = varType; return node; } inline std::shared_ptr UniformVariable::Build(std::string varName, ShaderExpressionType varType) { auto node = std::make_shared(); node->name = std::move(varName); node->type = varType; return node; } } #include