|
- unit uengShaderCodeGenerator;
-
- {$mode objfpc}{$H+}
- {$I uengShaderFile.inc}
-
- interface
-
- uses
- Classes, SysUtils,
- uengShaderFileParser, uengShaderPart, uengShaderPartScope, uengShaderPartKeyValuePair;
-
- type
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- TengShaderCodeGenerator = class(TengShaderPartScope)
- { Code Loading & Storage }
- private
- fProperties: TengShaderPartPropertyMap;
-
- protected
- fInherited: TengShaderPartList;
- procedure UpdateInherited; virtual;
- function ParseIntern(const aArgs: TengParseArgs; const aParams: TengTokenParameterList): String; override;
-
- { General }
- public
- constructor Create(const aParent: TengShaderPart); override;
- destructor Destroy; override;
- end;
-
- implementation
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //TengShaderCodeGenerator///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TengShaderCodeGenerator.UpdateInherited;
- begin
- // TODO
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- function TengShaderCodeGenerator.ParseIntern(const aArgs: TengParseArgs; const aParams: TengTokenParameterList): String;
- begin
- result := inherited ParseIntern(aArgs, aParams);
- UpdateInherited;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- constructor TengShaderCodeGenerator.Create(const aParent: TengShaderPart);
- begin
- inherited Create(aParent);
- fInherited := TengShaderPartList.Create(false);
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- destructor TengShaderCodeGenerator.Destroy;
- begin
- FreeAndNil(fInherited);
- inherited Destroy;
- end;
-
- end.
|