public ShaderCode Matrix() { CodeGenerator generator = new CodeGenerator(BindingStage.VertexShader); Floatx4 position = generator.InputFloatx4(PinComponent.Position); Float4x4 matrix = generator.CreateFloat4x4("GlobalTransform"); position = position * matrix; return(generator.ShaderCode); }
public ShaderCode Swizzle() { CodeGenerator generator = new CodeGenerator(BindingStage.VertexShader); Floatx3 p = generator.InputFloatx3(PinComponent.Position); Float4x4 m = generator.CreateFloat4x4("Matrix"); p.XYZ = (new Floatx4(p, 1.0f) * m).XYZ; return(generator.ShaderCode); }