Browse Source

* removed bitSpace Utils from project

master
Bergmann89 8 years ago
parent
commit
6e0bc32a7c
11 changed files with 1330 additions and 6 deletions
  1. +2
    -0
      uengShaderCodePart.pas
  2. +1
    -1
      uengShaderFile.inc
  3. +2
    -2
      uengShaderFile.pas
  4. +1226
    -0
      uengShaderFileGenerics.pas
  5. +1
    -1
      uengShaderFileParser.pas
  6. +89
    -0
      uengShaderFileTypes.pas
  7. +2
    -0
      uengShaderGeneratorArgs.pas
  8. +1
    -1
      uengShaderPart.pas
  9. +2
    -0
      uengShaderPartClass.pas
  10. +2
    -0
      uengShaderPartKeyValuePair.pas
  11. +2
    -1
      uengShaderPartProc.pas

+ 2
- 0
uengShaderCodePart.pas View File

@@ -11,6 +11,8 @@ uses

{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics
{$ELSE}
, uengShaderFileGenerics
{$ENDIF}
;



+ 1
- 1
uengShaderFile.inc View File

@@ -1,3 +1,3 @@
{.$DEFINE DEBUGEXPRESSION_ADD_BRACKET} // add brackets to expressions
{$DEFINE SHADER_FILE_USE_BITSPACE_UTILS} // use bitSpace Utils
{.$DEFINE SHADER_FILE_USE_BITSPACE_UTILS} // use bitSpace Utils
{.$DEFINE SHADER_FILE_DEBUG} // enable debug output

+ 2
- 2
uengShaderFile.pas View File

@@ -27,8 +27,8 @@ type
{ Code Loading & Storage }
private
fFilename: String;
fFileReader: IutlFileReader;
fFileWriter: IutlFileWriter;
fFileReader: IengShaderFileReader;
fFileWriter: IengShaderFileWriter;
fClasses: TengShaderPartClassMap;
private
function GetGenerator(const aName: String): TengShaderGenerator;


+ 1226
- 0
uengShaderFileGenerics.pas
File diff suppressed because it is too large
View File


+ 1
- 1
uengShaderFileParser.pas View File

@@ -12,7 +12,7 @@ uses
{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics
{$ELSE}
, fgl
, uengShaderFileGenerics
{$ENDIF}
;



+ 89
- 0
uengShaderFileTypes.pas View File

@@ -10,6 +10,8 @@ uses

{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlSerialization, uutlCommon, uutlGenerics
{$ELSE}
, uengShaderFileGenerics
{$ENDIF}
;

@@ -21,6 +23,40 @@ type
TengShaderFileReader = uutlSerialization.TutlSimpleFileReader;
TengShaderFileWriter = uutlSerialization.TutlSimpleFileWriter;
TIntfObjNoRefCount = uutlCommon.TutlInterfaceNoRefCount;
{$ELSE}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TIntfObjNoRefCount = class(TObject, IUnknown)
protected
fRefCount : longint;
{ implement methods of IUnknown }
function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
function _AddRef : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; virtual;
function _Release : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; virtual;
public
property RefCount: LongInt read fRefCount;
end;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IengShaderFileReader = interface
['{3A9C3AE3-CAEE-44C9-85BE-0BCAA5C1BE7A}']
function LoadStream(const aFilename: String; const aStream: TStream): Boolean;
end;

IengShaderFileWriter = interface
['{3DF84644-9FC4-4A8A-88C2-73F13E72B1ED}']
procedure SaveStream(const aFilename: String; const aStream: TStream);
end;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TengShaderFileReader = class(TInterfacedObject, IengShaderFileReader)
public
function LoadStream(const aFilename: String; const aStream: TStream): Boolean;
end;

TengShaderFileWriter = class(TInterfacedObject, IengShaderFileWriter)
public
procedure SaveStream(const aFilename: String; const aStream: TStream);
end;
{$ENDIF}

TengShaderPartLogLevel = (
@@ -186,6 +222,59 @@ implementation
uses
uengShaderPart;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TIntfObjNoRefCount//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function TIntfObjNoRefCount.QueryInterface(constref iid: tguid; out obj): longint; stdcall;
begin
if getinterface(iid,obj)
then result := S_OK
else result := longint(E_NOINTERFACE);
end;

function TIntfObjNoRefCount._AddRef: longint; stdcall;
begin
result := InterLockedIncrement(fRefCount);
end;

function TIntfObjNoRefCount._Release: longint; stdcall;
begin
result := InterLockedDecrement(fRefCount);
end;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TengShaderFileReader//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function TengShaderFileReader.LoadStream(const aFilename: String; const aStream: TStream): Boolean;
var
fs: TFileStream;
begin
result := FileExists(aFilename);
if result then begin
fs := TFileStream.Create(aFilename, fmOpenRead);
try
aStream.CopyFrom(fs, fs.Size - fs.Position);
finally
FreeAndNil(fs);
end;
end;
end;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TengShaderFileWriter//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TengShaderFileWriter.SaveStream(const aFilename: String; const aStream: TStream);
var
fs: TFileStream;
begin
fs := TFileStream.Create(aFilename, fmCreate);
try
fs.CopyFrom(aStream, aStream.Size - aStream.Position);
finally
FreeAndNil(fs);
end;
end;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TengMetaData//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


+ 2
- 0
uengShaderGeneratorArgs.pas View File

@@ -11,6 +11,8 @@ uses

{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics
{$ELSE}
, uengShaderFileGenerics
{$ENDIF}
;



+ 1
- 1
uengShaderPart.pas View File

@@ -13,7 +13,7 @@ uses
{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics
{$ELSE}
, fgl
, uengShaderFileGenerics
{$ENDIF}
;



+ 2
- 0
uengShaderPartClass.pas View File

@@ -11,6 +11,8 @@ uses

{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics
{$ELSE}
, uengShaderFileGenerics
{$ENDIF}
;



+ 2
- 0
uengShaderPartKeyValuePair.pas View File

@@ -11,6 +11,8 @@ uses

{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics
{$ELSE}
, uengShaderFileGenerics
{$ENDIF}
;



+ 2
- 1
uengShaderPartProc.pas View File

@@ -12,8 +12,9 @@ uses
{$IFDEF SHADER_FILE_USE_BITSPACE_UTILS}
, uutlGenerics;
{$ELSE}
, fgl;
, uengShaderFileGenerics
{$ENDIF}
;

type
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Loading…
Cancel
Save