Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

60 строки
2.1 KiB

  1. unit uengShaderCodeGenerator;
  2. {$mode objfpc}{$H+}
  3. {$I uengShaderFile.inc}
  4. interface
  5. uses
  6. Classes, SysUtils,
  7. uengShaderFileParser, uengShaderPart, uengShaderPartScope, uengShaderPartKeyValuePair;
  8. type
  9. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  10. TengShaderCodeGenerator = class(TengShaderPartScope)
  11. { General }
  12. private
  13. fProperties: TengShaderPartPropertyMap;
  14. protected
  15. fInherited: TengShaderPartList;
  16. procedure UpdateInherited; virtual;
  17. procedure UpdateCache; override;
  18. public
  19. constructor Create(const aParent: TengShaderPart); override;
  20. destructor Destroy; override;
  21. end;
  22. implementation
  23. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  24. //TengShaderCodeGenerator///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  25. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  26. procedure TengShaderCodeGenerator.UpdateInherited;
  27. begin
  28. // DUMMY
  29. end;
  30. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  31. procedure TengShaderCodeGenerator.UpdateCache;
  32. begin
  33. inherited UpdateCache;
  34. UpdateInherited;
  35. end;
  36. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  37. constructor TengShaderCodeGenerator.Create(const aParent: TengShaderPart);
  38. begin
  39. inherited Create(aParent);
  40. fInherited := TengShaderPartList.Create(false);
  41. end;
  42. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  43. destructor TengShaderCodeGenerator.Destroy;
  44. begin
  45. FreeAndNil(fInherited);
  46. inherited Destroy;
  47. end;
  48. end.