program example; uses sysutils, variants, ulibShaderFile; var i: Integer; s: String; ShaderFile: TlsfShaderFile; Generator: TlsfGenerator; begin lsf_init(ExtractFilePath(ParamStr(0)) + '..\..\..\libShaderFile-x86_64-win64.dll'); try if (ParamCount < 2) then begin WriteLn('error: expected input file and generator/class name as parameter'); ExitCode := 1; exit; end; ShaderFile := TlsfShaderFile.Create; try ShaderFile.LoadFromFile(ParamStr(1)); Generator := TlsfGenerator.Create(ShaderFile, ParamStr(2)); try i := 3; while (i < ParamCount) do begin s := ParamStr(i+1); Generator.SetProperty(ParamStr(i), s); inc(i, 2); end; WriteLn(Generator.GenerateCode); finally FreeAndNil(Generator); end; finally FreeAndNil(ShaderFile); end; except on e: Exception do begin WriteLn('error: ' + e.Message); ExitCode := 2; end; end; lsf_finish; end.