You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.0 KiB

  1. program example;
  2. {$APPTYPE CONSOLE}
  3. uses
  4. SysUtils,
  5. ulibShaderFile;
  6. var
  7. i: Integer;
  8. s: String;
  9. ShaderFile: TlsfShaderFile;
  10. Generator: TlsfGenerator;
  11. begin
  12. lsf_init(ExtractFilePath(ParamStr(0)) + '..\..\..\libShaderFile-i386-win32.dll');
  13. try
  14. if (ParamCount < 2) then begin
  15. WriteLn('error: expected input file and generator/class name as parameter');
  16. ExitCode := 1;
  17. exit;
  18. end;
  19. ShaderFile := TlsfShaderFile.Create;
  20. try
  21. ShaderFile.LoadFromFile(ParamStr(1));
  22. Generator := TlsfGenerator.Create(ShaderFile, ParamStr(2));
  23. try
  24. i := 3;
  25. while (i < ParamCount) do begin
  26. s := ParamStr(i+1);
  27. Generator.SetProperty(ParamStr(i), s);
  28. inc(i, 2);
  29. end;
  30. WriteLn(Generator.GenerateCode);
  31. finally
  32. FreeAndNil(Generator);
  33. end;
  34. finally
  35. FreeAndNil(ShaderFile);
  36. end;
  37. except
  38. on e: Exception do begin
  39. WriteLn('error: ' + e.Message);
  40. ExitCode := 2;
  41. end;
  42. end;
  43. lsf_finish;
  44. end.