// Created by Saul Espinosa for Redshift 3D// Modified 01.11.2022shader SpaceTransform[[ string label = "Space Transform"]](// Inputsvector Input = 0[[ string label = "Input", string page = "Input" ]],string Type = "point"[[ string label = "Input Type", string page = "Input", string widget = "popup", string options = "point|vector|normal"]],string From = "world"[[ string label = "Input Space", string page = "Transform", string widget = "popup", string options = "world|object|camera|screen"]],string To = "world"[[ string label = "Output Space", string page = "Transform", string widget = "popup", string options = "world|object|camera|screen"]],int Normalize = 0 [[ string widget = "checkBox", string page = "Transform", string label = "Normalize", int connectable = 0 ]],// Output output vector Output = 0[[ string label = "Output", string page = "Output" ]],){if (Normalize == 0)// Transform Input to Outputif (Type == "point") Output = transform(From, To, point(Input));else if (Type == "normal") Output = transform(From, To, normal(Input));else Output = transform(From, To, Input);else{// Transform Input to Normalized Outputif (Type == "point") Output = normalize(transform(From, To, point(Input)));else if (Type == "normal") Output = normalize(transform(From, To, normal(Input)));else Output = normalize(transform(From, To, Input));}}