protected virtual object EvalTechnique_Declaration(ParseTree tree, params object[] paramlist) { TechniqueInfo technique = new TechniqueInfo(); technique.name = this.GetValue(tree, TokenType.Identifier, 0) as string ?? string.Empty; technique.startPos = Token.StartPos; technique.length = Token.Length; foreach (ParseNode node in Nodes) { var pass = node.Eval(tree, technique) as PassInfo; if (pass != null) { technique.Passes.Add(pass); } } return(technique); }
protected virtual object EvalTechnique_Declaration(ParseTree tree, params object[] paramlist) { var technique = new TechniqueInfo(); technique.name = this.GetValue(tree, TokenType.Identifier, 0) as string ?? string.Empty; technique.startPos = Token.StartPos; technique.length = Token.Length; foreach (var node in Nodes) { node.Eval(tree, technique); } // Make sure we have at least one pass. if (technique.Passes.Count > 0) { var shaderInfo = paramlist[0] as ShaderInfo; shaderInfo.Techniques.Add(technique); } return(null); }