浏览代码

Tetrahedra meshing added as third-party util

GLScene 2 年之前
父节点
当前提交
7254d4d5c8

+ 39 - 3
Examples/Demos/computing/Computing.groupproj

@@ -12,6 +12,15 @@
         <Projects Include="ScalarProduct\ScalarProductD.dproj">
         <Projects Include="ScalarProduct\ScalarProductD.dproj">
             <Dependencies/>
             <Dependencies/>
         </Projects>
         </Projects>
+        <Projects Include="SimpleCUDATexture\SimpleTextureD.dproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="StableFluids\FluidsD.dproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="VertexDataGeneration\VertexGeneration.dproj">
+            <Dependencies/>
+        </Projects>
     </ItemGroup>
     </ItemGroup>
     <ProjectExtensions>
     <ProjectExtensions>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -47,14 +56,41 @@
     <Target Name="ScalarProductD:Make">
     <Target Name="ScalarProductD:Make">
         <MSBuild Projects="ScalarProduct\ScalarProductD.dproj" Targets="Make"/>
         <MSBuild Projects="ScalarProduct\ScalarProductD.dproj" Targets="Make"/>
     </Target>
     </Target>
+    <Target Name="SimpleTextureD">
+        <MSBuild Projects="SimpleCUDATexture\SimpleTextureD.dproj"/>
+    </Target>
+    <Target Name="SimpleTextureD:Clean">
+        <MSBuild Projects="SimpleCUDATexture\SimpleTextureD.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="SimpleTextureD:Make">
+        <MSBuild Projects="SimpleCUDATexture\SimpleTextureD.dproj" Targets="Make"/>
+    </Target>
+    <Target Name="FluidsD">
+        <MSBuild Projects="StableFluids\FluidsD.dproj"/>
+    </Target>
+    <Target Name="FluidsD:Clean">
+        <MSBuild Projects="StableFluids\FluidsD.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="FluidsD:Make">
+        <MSBuild Projects="StableFluids\FluidsD.dproj" Targets="Make"/>
+    </Target>
+    <Target Name="VertexGeneration">
+        <MSBuild Projects="VertexDataGeneration\VertexGeneration.dproj"/>
+    </Target>
+    <Target Name="VertexGeneration:Clean">
+        <MSBuild Projects="VertexDataGeneration\VertexGeneration.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="VertexGeneration:Make">
+        <MSBuild Projects="VertexDataGeneration\VertexGeneration.dproj" Targets="Make"/>
+    </Target>
     <Target Name="Build">
     <Target Name="Build">
-        <CallTarget Targets="FastFourierD;PostProcessingD;ScalarProductD"/>
+        <CallTarget Targets="FastFourierD;PostProcessingD;ScalarProductD;SimpleTextureD;FluidsD;VertexGeneration"/>
     </Target>
     </Target>
     <Target Name="Clean">
     <Target Name="Clean">
-        <CallTarget Targets="FastFourierD:Clean;PostProcessingD:Clean;ScalarProductD:Clean"/>
+        <CallTarget Targets="FastFourierD:Clean;PostProcessingD:Clean;ScalarProductD:Clean;SimpleTextureD:Clean;FluidsD:Clean;VertexGeneration:Clean"/>
     </Target>
     </Target>
     <Target Name="Make">
     <Target Name="Make">
-        <CallTarget Targets="FastFourierD:Make;PostProcessingD:Make;ScalarProductD:Make"/>
+        <CallTarget Targets="FastFourierD:Make;PostProcessingD:Make;ScalarProductD:Make;SimpleTextureD:Make;FluidsD:Make;VertexGeneration:Make"/>
     </Target>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>
 </Project>

+ 8 - 8
Examples/Demos/computing/FastFourierTransformation/FastFourierD.dproj

@@ -7,7 +7,7 @@
         <TargetedPlatforms>3</TargetedPlatforms>
         <TargetedPlatforms>3</TargetedPlatforms>
         <AppType>Application</AppType>
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
-        <ProjectVersion>19.3</ProjectVersion>
+        <ProjectVersion>19.4</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
@@ -1246,17 +1246,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </DeployClass>
-                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
             </Deployment>
             </Deployment>
         </BorlandProject>
         </BorlandProject>
         <ProjectFileVersion>12</ProjectFileVersion>
         <ProjectFileVersion>12</ProjectFileVersion>

+ 90 - 175
Examples/Demos/computing/FastFourierTransformation/fFourier_D.dfm

@@ -2,138 +2,97 @@ object FormFFT: TFormFFT
   Left = 290
   Left = 290
   Top = 245
   Top = 245
   Caption = 'Fast FT Computing'
   Caption = 'Fast FT Computing'
-  ClientHeight = 464
-  ClientWidth = 986
+  ClientHeight = 371
+  ClientWidth = 789
   Color = 2064383
   Color = 2064383
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Font.Style = []
   Position = poScreenCenter
   Position = poScreenCenter
   OnCreate = FormCreate
   OnCreate = FormCreate
   OnDestroy = FormDestroy
   OnDestroy = FormDestroy
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object Panel1: TPanel
   object Panel1: TPanel
-    Left = 777
+    Left = 622
     Top = 0
     Top = 0
-    Width = 209
-    Height = 464
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 167
+    Height = 371
     Align = alRight
     Align = alRight
     ParentColor = True
     ParentColor = True
     TabOrder = 0
     TabOrder = 0
     object Label4: TLabel
     object Label4: TLabel
-      Left = 8
-      Top = 146
-      Width = 65
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 117
+      Width = 52
+      Height = 13
       Caption = 'Quadrants:'
       Caption = 'Quadrants:'
     end
     end
     object Label5: TLabel
     object Label5: TLabel
-      Left = 8
-      Top = 206
-      Width = 76
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 165
+      Width = 62
+      Height = 13
       Caption = 'Restore with:'
       Caption = 'Restore with:'
     end
     end
     object Label3: TLabel
     object Label3: TLabel
-      Left = 8
-      Top = 266
-      Width = 77
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 213
+      Width = 65
+      Height = 13
       Caption = 'Show Output:'
       Caption = 'Show Output:'
     end
     end
     object But1DFFT: TButton
     object But1DFFT: TButton
-      Left = 8
-      Top = 79
-      Width = 113
-      Height = 26
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 63
+      Width = 91
+      Height = 21
       Caption = '1D FFT'
       Caption = '1D FFT'
       TabOrder = 0
       TabOrder = 0
       OnClick = But1DFFTClick
       OnClick = But1DFFTClick
     end
     end
     object But2DFFT: TButton
     object But2DFFT: TButton
-      Left = 8
-      Top = 113
-      Width = 53
-      Height = 26
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 90
+      Width = 43
+      Height = 21
       Caption = '2D FFT'
       Caption = '2D FFT'
       TabOrder = 1
       TabOrder = 1
       OnClick = But2DFFTClick
       OnClick = But2DFFTClick
     end
     end
     object BLenna: TButton
     object BLenna: TButton
-      Left = 68
-      Top = 113
-      Width = 53
-      Height = 26
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 54
+      Top = 90
+      Width = 43
+      Height = 21
       Caption = 'Lenna'
       Caption = 'Lenna'
       TabOrder = 2
       TabOrder = 2
       OnClick = But2DFFTClick
       OnClick = But2DFFTClick
     end
     end
     object CBReorder: TCheckBox
     object CBReorder: TCheckBox
-      Left = 8
-      Top = 170
-      Width = 73
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 136
+      Width = 59
+      Height = 17
       Caption = 'Reorder'
       Caption = 'Reorder'
       TabOrder = 3
       TabOrder = 3
       OnClick = ExecDemo
       OnClick = ExecDemo
     end
     end
     object CBInvFFT: TCheckBox
     object CBInvFFT: TCheckBox
-      Left = 8
-      Top = 230
-      Width = 73
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 184
+      Width = 59
+      Height = 17
       Caption = 'InvFFT'
       Caption = 'InvFFT'
       TabOrder = 4
       TabOrder = 4
       OnClick = ExecDemo
       OnClick = ExecDemo
     end
     end
     object RBModule: TRadioButton
     object RBModule: TRadioButton
-      Left = 8
-      Top = 290
-      Width = 72
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 232
+      Width = 58
+      Height = 17
       Caption = 'Module'
       Caption = 'Module'
       Checked = True
       Checked = True
       TabOrder = 5
       TabOrder = 5
@@ -141,55 +100,39 @@ object FormFFT: TFormFFT
       OnClick = ExecDemo
       OnClick = ExecDemo
     end
     end
     object RBPhase: TRadioButton
     object RBPhase: TRadioButton
-      Left = 8
-      Top = 310
-      Width = 72
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 248
+      Width = 58
+      Height = 17
       Caption = 'Phase'
       Caption = 'Phase'
       TabOrder = 6
       TabOrder = 6
       OnClick = ExecDemo
       OnClick = ExecDemo
     end
     end
     object RBReal: TRadioButton
     object RBReal: TRadioButton
-      Left = 8
-      Top = 330
-      Width = 72
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 264
+      Width = 58
+      Height = 17
       Caption = 'Real'
       Caption = 'Real'
       TabOrder = 7
       TabOrder = 7
       OnClick = ExecDemo
       OnClick = ExecDemo
     end
     end
     object RBImag: TRadioButton
     object RBImag: TRadioButton
-      Left = 8
-      Top = 350
-      Width = 72
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 280
+      Width = 58
+      Height = 17
       Caption = 'Imag'
       Caption = 'Imag'
       TabOrder = 8
       TabOrder = 8
       OnClick = ExecDemo
       OnClick = ExecDemo
     end
     end
     object ESize: TLabeledEdit
     object ESize: TLabeledEdit
-      Left = 78
-      Top = 49
-      Width = 43
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
-      EditLabel.Width = 64
-      EditLabel.Height = 16
+      Left = 62
+      Top = 39
+      Width = 35
+      Height = 21
+      EditLabel.Width = 50
+      EditLabel.Height = 13
       EditLabel.Margins.Left = 4
       EditLabel.Margins.Left = 4
       EditLabel.Margins.Top = 4
       EditLabel.Margins.Top = 4
       EditLabel.Margins.Right = 4
       EditLabel.Margins.Right = 4
@@ -202,14 +145,10 @@ object FormFFT: TFormFFT
       Text = '8'
       Text = '8'
     end
     end
     object DeviceBox: TComboBox
     object DeviceBox: TComboBox
-      Left = 8
-      Top = 8
-      Width = 113
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 6
+      Top = 6
+      Width = 91
+      Height = 21
       Style = csDropDownList
       Style = csDropDownList
       ItemIndex = 0
       ItemIndex = 0
       TabOrder = 10
       TabOrder = 10
@@ -223,76 +162,52 @@ object FormFFT: TFormFFT
   object Panel2: TPanel
   object Panel2: TPanel
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 777
-    Height = 464
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 622
+    Height = 371
     Align = alClient
     Align = alClient
-    Constraints.MinHeight = 375
-    Constraints.MinWidth = 675
+    Constraints.MinHeight = 300
+    Constraints.MinWidth = 540
     ParentColor = True
     ParentColor = True
     TabOrder = 1
     TabOrder = 1
     object Label1: TLabel
     object Label1: TLabel
-      Left = 140
-      Top = 30
-      Width = 69
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 112
+      Top = 24
+      Width = 56
+      Height = 13
       Caption = 'Input Signal'
       Caption = 'Input Signal'
     end
     end
     object LDemoMode: TLabel
     object LDemoMode: TLabel
-      Left = 10
-      Top = 11
-      Width = 85
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 9
+      Width = 67
+      Height = 13
       Alignment = taCenter
       Alignment = taCenter
       Caption = 'Demo mode'
       Caption = 'Demo mode'
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clWhite
       Font.Color = clWhite
-      Font.Height = -14
+      Font.Height = -11
       Font.Name = 'MS Sans Serif'
       Font.Name = 'MS Sans Serif'
       Font.Style = [fsBold]
       Font.Style = [fsBold]
       ParentFont = False
       ParentFont = False
     end
     end
     object Label2: TLabel
     object Label2: TLabel
-      Left = 460
-      Top = 30
-      Width = 79
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 368
+      Top = 24
+      Width = 64
+      Height = 13
       Caption = 'Output Signal'
       Caption = 'Output Signal'
     end
     end
     object Image2: TImage
     object Image2: TImage
-      Left = 340
-      Top = 50
-      Width = 321
-      Height = 321
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 272
+      Top = 40
+      Width = 257
+      Height = 257
     end
     end
     object Image1: TImage
     object Image1: TImage
-      Left = 10
-      Top = 50
-      Width = 321
-      Height = 321
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 40
+      Width = 257
+      Height = 257
     end
     end
   end
   end
   object GLCUDA1: TGLCUDA
   object GLCUDA1: TGLCUDA

+ 42 - 35
Examples/Demos/computing/FastFourierTransformation/fFourier_D.pas

@@ -69,6 +69,7 @@ type
     procedure FormCreate(Sender: TObject);
     procedure FormCreate(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
   private
   private
+    Path: TFileName;
     DemoMode: TDemoMode;
     DemoMode: TDemoMode;
     FTimer: Cardinal;
     FTimer: Cardinal;
     procedure Load1DBmp(out buf: TByteDynArray);
     procedure Load1DBmp(out buf: TByteDynArray);
@@ -86,6 +87,47 @@ var
 implementation
 implementation
 
 
 {$R *.dfm}
 {$R *.dfm}
+
+procedure TFormFFT.FormCreate(Sender: TObject);
+var
+  bmp: TBitmap;
+  pPal: PLogPalette;
+begin
+  Path := GetCurrentAssetPath();
+  // Load lena image as texture
+  SetCurrentDir(Path  + '\texture');
+
+  if not InitCUTIL then
+  begin
+    MessageDlg('Can''t load cutil32.dll', mtError, [mbOk], 0);
+    Application.Terminate;
+  end;
+
+  cutCreateTimer( FTimer );
+
+  DemoMode := dmNone;
+  GetMem(pPal, 1028);
+  // create a gray custom bitmap and assign it to both images
+  bmp := TBitmap.Create;
+  bmp.PixelFormat := pf8bit;
+  /// ? Make8BitPal(pPal);
+  bmp.Palette := CreatePalette(pPal^);
+  bmp.Height := 256;
+  bmp.Width := 256;
+  Image1.Picture.Bitmap := bmp;
+  Image2.Picture.Bitmap := bmp;
+  bmp.Free;
+  FreeMem(pPal);
+  Image1.Picture.Bitmap.Canvas.Brush.Color := clBlack;
+  Image1.Picture.Bitmap.Canvas.Pen.Color := clWhite;
+  Image2.Picture.Bitmap.Canvas.Brush.Color := clBlack;
+  Image2.Picture.Bitmap.Canvas.Pen.Color := clWhite;
+
+  // Force CUFFT initialization
+  FFTPlan1D.Execute(Signal1D, Signal1D);
+end;
+
+
 // ============================== 1D CASE ===========================
 // ============================== 1D CASE ===========================
 
 
 procedure TFormFFT.But1DFFTClick(Sender: TObject);
 procedure TFormFFT.But1DFFTClick(Sender: TObject);
@@ -439,41 +481,6 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFormFFT.FormCreate(Sender: TObject);
-var
-  bmp: TBitmap;
-  pPal: PLogPalette;
-begin
-  if not InitCUTIL then
-  begin
-    MessageDlg('Can''t load cutil32.dll', mtError, [mbOk], 0);
-    Application.Terminate;
-  end;
-
-  cutCreateTimer( FTimer );
-
-  DemoMode := dmNone;
-  GetMem(pPal, 1028);
-  // create a gray custom bitmap and assign it to both images
-  bmp := TBitmap.Create;
-  bmp.PixelFormat := pf8bit;
-  Make8BitPal(pPal);
-  bmp.Palette := CreatePalette(pPal^);
-  bmp.Height := 256;
-  bmp.Width := 256;
-  Image1.Picture.Bitmap := bmp;
-  Image2.Picture.Bitmap := bmp;
-  bmp.Free;
-  FreeMem(pPal);
-  Image1.Picture.Bitmap.Canvas.Brush.Color := clBlack;
-  Image1.Picture.Bitmap.Canvas.Pen.Color := clWhite;
-  Image2.Picture.Bitmap.Canvas.Brush.Color := clBlack;
-  Image2.Picture.Bitmap.Canvas.Pen.Color := clWhite;
-
-  // Force CUFFT initialization
-  FFTPlan1D.Execute(Signal1D, Signal1D);
-end;
-
 procedure TFormFFT.FormDestroy(Sender: TObject);
 procedure TFormFFT.FormDestroy(Sender: TObject);
 begin
 begin
   cutDeleteTimer( FTimer );
   cutDeleteTimer( FTimer );

+ 1 - 2
Examples/Demos/computing/PostProcessing/PostProcessingD.dpr

@@ -2,7 +2,7 @@ program PostProcessingD;
 
 
 uses
 uses
   Vcl.Forms,
   Vcl.Forms,
-  fPostProcessingD in 'fPostProcessingD.pas' {FormPP};
+  fPostProcessingD in 'fPostProcessingD.pas';
 
 
 {$R *.res}
 {$R *.res}
 
 
@@ -10,6 +10,5 @@ begin
   //ReportMemoryLeaksOnShutdown := True;
   //ReportMemoryLeaksOnShutdown := True;
   Application.Initialize;
   Application.Initialize;
   Application.MainFormOnTaskbar := True;
   Application.MainFormOnTaskbar := True;
-  Application.CreateForm(TFormPP, FormPP);
   Application.Run;
   Application.Run;
 end.
 end.

+ 9 - 12
Examples/Demos/computing/PostProcessing/PostProcessingD.dproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
     <PropertyGroup>
         <ProjectGuid>{29B62F2B-239B-4342-B528-EF2D208E291C}</ProjectGuid>
         <ProjectGuid>{29B62F2B-239B-4342-B528-EF2D208E291C}</ProjectGuid>
-        <ProjectVersion>19.3</ProjectVersion>
+        <ProjectVersion>19.4</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <Config Condition="'$(Config)'==''">Debug</Config>
@@ -100,10 +100,7 @@
         <DelphiCompile Include="$(MainSource)">
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
         </DelphiCompile>
-        <DCCReference Include="fPostProcessingD.pas">
-            <Form>FormPP</Form>
-            <FormType>dfm</FormType>
-        </DCCReference>
+        <DCCReference Include="fPostProcessingD.pas"/>
         <BuildConfiguration Include="Base">
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
             <Key>Base</Key>
         </BuildConfiguration>
         </BuildConfiguration>
@@ -931,17 +928,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </DeployClass>
-                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
             </Deployment>
             </Deployment>
             <Platforms>
             <Platforms>
                 <Platform value="Win32">True</Platform>
                 <Platform value="Win32">True</Platform>

+ 3 - 5
Examples/Demos/computing/PostProcessing/fPostProcessingD.dfm

@@ -196,8 +196,7 @@ object FormPP: TFormPP
       Code.Strings = (
       Code.Strings = (
         #9'.version 1.4'
         #9'.version 1.4'
         #9'.target sm_13'
         #9'.target sm_13'
-        
-          #9'// compiled with C:\Program Files\NVIDIA GPU Computing Toolkit\' +
+        #9'// compiled with C:\Program Files\NVIDIA GPU Computing Toolkit\' +
           'CUDA\v3.2\\bin/../open64/lib//be.exe'
           'CUDA\v3.2\\bin/../open64/lib//be.exe'
         #9'// nvopencc 3.2 built on 2010-11-06'
         #9'// nvopencc 3.2 built on 2010-11-06'
         ''
         ''
@@ -217,8 +216,7 @@ object FormPP: TFormPP
         #9'//  -m2'#9'(Report advisories)'
         #9'//  -m2'#9'(Report advisories)'
         #9'//-----------------------------------------------------------'
         #9'//-----------------------------------------------------------'
         ''
         ''
-        
-          #9'.file'#9'1'#9'"C:/Users/YARUNA~1/AppData/Local/Temp/tmpxft_00000994_0' +
+        #9'.file'#9'1'#9'"C:/Users/YARUNA~1/AppData/Local/Temp/tmpxft_00000994_0' +
           '0000000-10_temp.cudafe2.gpu"'
           '0000000-10_temp.cudafe2.gpu"'
         
         
           #9'.file'#9'2'#9'"C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUD' +
           #9'.file'#9'2'#9'"C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUD' +
@@ -559,7 +557,7 @@ object FormPP: TFormPP
         ' //<loop> Part of loop body line 112, head labeled $Lt_0_7682'
         ' //<loop> Part of loop body line 112, head labeled $Lt_0_7682'
         #9'mov.s32 '#9'%r168, %r160;'
         #9'mov.s32 '#9'%r168, %r160;'
         '$Lt_0_8450:'
         '$Lt_0_8450:'
-        
+
           ' //<loop> Loop body line 113, nesting depth: 2, estimated iterat' +
           ' //<loop> Loop body line 113, nesting depth: 2, estimated iterat' +
           'ions: unknown'
           'ions: unknown'
         #9'.loc'#9'16'#9'114'#9'0'
         #9'.loc'#9'16'#9'114'#9'0'

+ 6 - 1
Examples/Demos/computing/PostProcessing/fPostProcessingD.pas

@@ -38,6 +38,7 @@ uses
   GLS.Context,
   GLS.Context,
   GLSL.CustomShader,
   GLSL.CustomShader,
   GLSL.Shader,
   GLSL.Shader,
+  GLS.Utils,
   GLS.Texture;
   GLS.Texture;
 
 
 type
 type
@@ -90,7 +91,7 @@ type
     procedure TrackBar1Change(Sender: TObject);
     procedure TrackBar1Change(Sender: TObject);
     procedure GLCUDA1OpenGLInteropInit(out Context: TGLContext);
     procedure GLCUDA1OpenGLInteropInit(out Context: TGLContext);
   private
   private
-
+    Path: TFileName;
   public
   public
     Radius: Integer;
     Radius: Integer;
     Threshold: Single;
     Threshold: Single;
@@ -106,6 +107,10 @@ implementation
 
 
 procedure TFormPP.FormCreate(Sender: TObject);
 procedure TFormPP.FormCreate(Sender: TObject);
 begin
 begin
+  Path := GetCurrentAssetPath();
+  // Load lena image as texture
+  SetCurrentDir(Path  + '\texture');
+
   Radius := 8;
   Radius := 8;
   Threshold := 0.8;
   Threshold := 0.8;
   Highlight := 0.4;
   Highlight := 0.4;

+ 8 - 8
Examples/Demos/computing/ScalarProduct/ScalarProductD.dproj

@@ -7,7 +7,7 @@
         <TargetedPlatforms>1</TargetedPlatforms>
         <TargetedPlatforms>1</TargetedPlatforms>
         <AppType>Application</AppType>
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
-        <ProjectVersion>19.3</ProjectVersion>
+        <ProjectVersion>19.4</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
@@ -1209,17 +1209,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </DeployClass>
-                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
             </Deployment>
             </Deployment>
         </BorlandProject>
         </BorlandProject>
         <ProjectFileVersion>12</ProjectFileVersion>
         <ProjectFileVersion>12</ProjectFileVersion>

+ 12 - 2
Examples/Demos/computing/ScalarProduct/fScalarProductD.pas

@@ -41,10 +41,11 @@ type
     _Z13scalarProdGPUPfS_S_ii_elementN: TCUDAFuncParam;
     _Z13scalarProdGPUPfS_S_ii_elementN: TCUDAFuncParam;
     procedure Button1Click(Sender: TObject);
     procedure Button1Click(Sender: TObject);
     procedure scalarProdGPUParameterSetup(Sender: TObject);
     procedure scalarProdGPUParameterSetup(Sender: TObject);
+    procedure FormCreate(Sender: TObject);
   private
   private
-     
+    Path: TFileName;
   public
   public
-     
+
   end;
   end;
 
 
 var
 var
@@ -62,6 +63,15 @@ const
      to meet memory coalescing constraints *)
      to meet memory coalescing constraints *)
   ELEMENT_N = 4096;
   ELEMENT_N = 4096;
 
 
+
+procedure TFormSP.FormCreate(Sender: TObject);
+begin
+  Path := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\texture');
+  pgm := TGLPGMImage.Create;
+end;
+
+
 procedure scalarProdCPU(hC, hA, hB: TCUDAMemData; vectorN, elementN: Integer);
 procedure scalarProdCPU(hC, hA, hB: TCUDAMemData; vectorN, elementN: Integer);
 var
 var
   vec, pos, vectorBase, vectorEnd: Integer;
   vec, pos, vectorBase, vectorEnd: Integer;

+ 8 - 8
Examples/Demos/computing/SimpleCUDATexture/SimpleTextureD.dproj

@@ -7,7 +7,7 @@
         <TargetedPlatforms>1</TargetedPlatforms>
         <TargetedPlatforms>1</TargetedPlatforms>
         <AppType>Application</AppType>
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
-        <ProjectVersion>19.3</ProjectVersion>
+        <ProjectVersion>19.4</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
@@ -932,17 +932,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </DeployClass>
-                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
             </Deployment>
             </Deployment>
         </BorlandProject>
         </BorlandProject>
         <ProjectFileVersion>12</ProjectFileVersion>
         <ProjectFileVersion>12</ProjectFileVersion>

+ 9 - 6
Examples/Demos/computing/SimpleCUDATexture/fSimpleTexD.pas

@@ -42,6 +42,7 @@ type
     TextureArray: TCUDAMemData;
     TextureArray: TCUDAMemData;
     ResultData: TCUDAMemData;
     ResultData: TCUDAMemData;
     pgm: TGLPGMImage;
     pgm: TGLPGMImage;
+    Path: TFileName;
     procedure TurnPictureParameterSetup(Sender: TObject);
     procedure TurnPictureParameterSetup(Sender: TObject);
   end;
   end;
 
 
@@ -62,6 +63,14 @@ const
   TestFileName = 'lena_bw.pgm';
   TestFileName = 'lena_bw.pgm';
   OutFileName  = 'lena_bw_out.pgm';
   OutFileName  = 'lena_bw_out.pgm';
 
 
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  Path := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\texture');
+  pgm := TGLPGMImage.Create;
+end;
+
 procedure TForm1.Button1Click(Sender: TObject);
 procedure TForm1.Button1Click(Sender: TObject);
 var
 var
   timer: Cardinal;
   timer: Cardinal;
@@ -97,12 +106,6 @@ begin
   bmp32.Free;
   bmp32.Free;
 end;
 end;
 
 
-procedure TForm1.FormCreate(Sender: TObject);
-begin
-  SetCurrentDirToAsset();
-  pgm := TGLPGMImage.Create;
-end;
-
 procedure TForm1.FormDestroy(Sender: TObject);
 procedure TForm1.FormDestroy(Sender: TObject);
 begin
 begin
    pgm.Destroy;
    pgm.Destroy;

+ 8 - 8
Examples/Demos/computing/StableFluids/FluidsD.dproj

@@ -7,7 +7,7 @@
         <TargetedPlatforms>1</TargetedPlatforms>
         <TargetedPlatforms>1</TargetedPlatforms>
         <AppType>Application</AppType>
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
-        <ProjectVersion>19.3</ProjectVersion>
+        <ProjectVersion>19.4</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
@@ -1208,17 +1208,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </DeployClass>
-                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
-                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
-                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
             </Deployment>
             </Deployment>
         </BorlandProject>
         </BorlandProject>
         <ProjectFileVersion>12</ProjectFileVersion>
         <ProjectFileVersion>12</ProjectFileVersion>

+ 2 - 0
Examples/Demos/computing/StableFluids/fFluidsD.pas

@@ -56,6 +56,7 @@ type
     procedure GLCadencer1Progress(Sender: TObject; const deltaTime,
     procedure GLCadencer1Progress(Sender: TObject; const deltaTime,
       newTime: Double);
       newTime: Double);
   private
   private
+    Path: TFileName;
     clicked: Boolean;
     clicked: Boolean;
     lastx: Integer;
     lastx: Integer;
     lasty: Integer;
     lasty: Integer;
@@ -162,6 +163,7 @@ var
   i, j: Integer;
   i, j: Integer;
   pos: FloatElement.TVector2;
   pos: FloatElement.TVector2;
 begin
 begin
+
   ParticlesDim := 512;
   ParticlesDim := 512;
   ComplexPadWidth := ParticlesDim div 2 + 1;
   ComplexPadWidth := ParticlesDim div 2 + 1;
   RealPadWidth := 2 * ComplexPadWidth;
   RealPadWidth := 2 * ComplexPadWidth;

+ 1 - 1
Examples/Demos/computing/VertexDataGeneration/VertexGeneration.dproj

@@ -7,7 +7,7 @@
         <TargetedPlatforms>1</TargetedPlatforms>
         <TargetedPlatforms>1</TargetedPlatforms>
         <AppType>Application</AppType>
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
-        <ProjectVersion>19.3</ProjectVersion>
+        <ProjectVersion>19.4</ProjectVersion>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">

+ 3 - 27
Packages/GLScene.groupproj

@@ -27,12 +27,6 @@
         <Projects Include="GLScene_Cg_DT.dproj">
         <Projects Include="GLScene_Cg_DT.dproj">
             <Dependencies/>
             <Dependencies/>
         </Projects>
         </Projects>
-        <Projects Include="GLScene_GPU_RT.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="GLScene_GPU_DT.dproj">
-            <Dependencies/>
-        </Projects>
     </ItemGroup>
     </ItemGroup>
     <ProjectExtensions>
     <ProjectExtensions>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -113,32 +107,14 @@
     <Target Name="GLScene_Cg_DT:Make">
     <Target Name="GLScene_Cg_DT:Make">
         <MSBuild Projects="GLScene_Cg_DT.dproj" Targets="Make"/>
         <MSBuild Projects="GLScene_Cg_DT.dproj" Targets="Make"/>
     </Target>
     </Target>
-    <Target Name="GLScene_GPU_RT">
-        <MSBuild Projects="GLScene_GPU_RT.dproj"/>
-    </Target>
-    <Target Name="GLScene_GPU_RT:Clean">
-        <MSBuild Projects="GLScene_GPU_RT.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="GLScene_GPU_RT:Make">
-        <MSBuild Projects="GLScene_GPU_RT.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="GLScene_GPU_DT">
-        <MSBuild Projects="GLScene_GPU_DT.dproj"/>
-    </Target>
-    <Target Name="GLScene_GPU_DT:Clean">
-        <MSBuild Projects="GLScene_GPU_DT.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="GLScene_GPU_DT:Make">
-        <MSBuild Projects="GLScene_GPU_DT.dproj" Targets="Make"/>
-    </Target>
     <Target Name="Build">
     <Target Name="Build">
-        <CallTarget Targets="GLScene_RT;GLScene_DT;GLScene_Sounds_RT;GLScene_Sounds_DT;GLScene_Physics_RT;GLScene_Physics_DT;GLScene_Cg_RT;GLScene_Cg_DT;GLScene_GPU_RT;GLScene_GPU_DT"/>
+        <CallTarget Targets="GLScene_RT;GLScene_DT;GLScene_Sounds_RT;GLScene_Sounds_DT;GLScene_Physics_RT;GLScene_Physics_DT;GLScene_Cg_RT;GLScene_Cg_DT"/>
     </Target>
     </Target>
     <Target Name="Clean">
     <Target Name="Clean">
-        <CallTarget Targets="GLScene_RT:Clean;GLScene_DT:Clean;GLScene_Sounds_RT:Clean;GLScene_Sounds_DT:Clean;GLScene_Physics_RT:Clean;GLScene_Physics_DT:Clean;GLScene_Cg_RT:Clean;GLScene_Cg_DT:Clean;GLScene_GPU_RT:Clean;GLScene_GPU_DT:Clean"/>
+        <CallTarget Targets="GLScene_RT:Clean;GLScene_DT:Clean;GLScene_Sounds_RT:Clean;GLScene_Sounds_DT:Clean;GLScene_Physics_RT:Clean;GLScene_Physics_DT:Clean;GLScene_Cg_RT:Clean;GLScene_Cg_DT:Clean"/>
     </Target>
     </Target>
     <Target Name="Make">
     <Target Name="Make">
-        <CallTarget Targets="GLScene_RT:Make;GLScene_DT:Make;GLScene_Sounds_RT:Make;GLScene_Sounds_DT:Make;GLScene_Physics_RT:Make;GLScene_Physics_DT:Make;GLScene_Cg_RT:Make;GLScene_Cg_DT:Make;GLScene_GPU_RT:Make;GLScene_GPU_DT:Make"/>
+        <CallTarget Targets="GLScene_RT:Make;GLScene_DT:Make;GLScene_Sounds_RT:Make;GLScene_Sounds_DT:Make;GLScene_Physics_RT:Make;GLScene_Physics_DT:Make;GLScene_Cg_RT:Make;GLScene_Cg_DT:Make"/>
     </Target>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>
 </Project>

+ 2 - 2
Packages/GLScene_Cg_DT.dproj

@@ -165,12 +165,12 @@
                         <Overwrite>true</Overwrite>
                         <Overwrite>true</Overwrite>
                     </Platform>
                     </Platform>
                 </DeployFile>
                 </DeployFile>
-                <DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule">
+                <DeployFile LocalName="$(BDS)\Redist\iossimulator\libPCRE.dylib" Class="DependencyModule">
                     <Platform Name="iOSSimulator">
                     <Platform Name="iOSSimulator">
                         <Overwrite>true</Overwrite>
                         <Overwrite>true</Overwrite>
                     </Platform>
                     </Platform>
                 </DeployFile>
                 </DeployFile>
-                <DeployFile LocalName="$(BDS)\Redist\iossimulator\libPCRE.dylib" Class="DependencyModule">
+                <DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule">
                     <Platform Name="iOSSimulator">
                     <Platform Name="iOSSimulator">
                         <Overwrite>true</Overwrite>
                         <Overwrite>true</Overwrite>
                     </Platform>
                     </Platform>

+ 1 - 1
Packages/GLScene_Cg_RT.dproj

@@ -8,7 +8,7 @@
         <AppType>Package</AppType>
         <AppType>Package</AppType>
         <FrameworkType>VCL</FrameworkType>
         <FrameworkType>VCL</FrameworkType>
         <ProjectVersion>19.4</ProjectVersion>
         <ProjectVersion>19.4</ProjectVersion>
-        <Platform Condition="'$(Platform)'==''">Win64</Platform>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>
         <Base>true</Base>

+ 7 - 5
README.md

@@ -1,6 +1,8 @@
 # GLScene
 # GLScene
-GLScene is a multimedia graphics platform for creating geometric objects and virtual characters with AI.
-GLScene is based on OpenGL and VCL components for Delphi & C++ Builder allowing rendering 3D scenes for Win32/Win64 applications.
-Provides support for sound FMOD, BASS, WAVE and physical ODE, NGD libraries. 
-Integration with external libraries such as Graphics32 image processing, SDL2 multimedia content, 
-as well as for generation of tetrahedral meshes using TetGen, CGAL based on GPU parallel computing with CUDA/OpenCL components continues. 
+GLScene is a graphics planform based on OpenGL and VCL components for Delphi & C++ Builder. 
+It provides the class library and tools allowing rendering 3D scenes with spatial objects 
+and smart virtual actors for Win32/Win64 applications. 
+Additional support of CG, FMOD, BASS, ODE, NGD, CUDA/OpenCL, GR32, SDL2 
+TensorFlow Lite and Tetgen is included.
+Supported GPU parallel computing using CUDA/OpenCL components. 
+GLS Team

+ 1 - 1
Readme.txt

@@ -1,7 +1,7 @@
 The release of GLScene v.2023 for Delphi & C++Builder
 The release of GLScene v.2023 for Delphi & C++Builder
 using Delphi Community Edition of Embarcadero RAD Studio.
 using Delphi Community Edition of Embarcadero RAD Studio.
 
 
-The version includes bug fixes, nentralized access to assets for examples.
+The version includes bug fixes, centralized access to assets for examples.
 Support for sound OpenAL, FMOD, BASS, WAVE and physical ODE, NGD libraries is provided
 Support for sound OpenAL, FMOD, BASS, WAVE and physical ODE, NGD libraries is provided
 as well as extended interaction with third-party software like image processing Graphics32, 
 as well as extended interaction with third-party software like image processing Graphics32, 
 direct media layer SDL2,  tetrahedral meshing generator TetGen, open-source TensorFlow for machine learning and AI on neural networks,  and computer geometry algorithms library CGAL. 
 direct media layer SDL2,  tetrahedral meshing generator TetGen, open-source TensorFlow for machine learning and AI on neural networks,  and computer geometry algorithms library CGAL. 

+ 2 - 2
Source/GLS.Scene.pas

@@ -55,8 +55,8 @@ type
 
 
 const
 const
   cDefaultProxyOptions = [pooEffects, pooObjects, pooTransformation];
   cDefaultProxyOptions = [pooEffects, pooObjects, pooTransformation];
-  GLSCENE_REVISION = '$Revision: 2023$';
-  GLSCENE_VERSION = 'v2.3 %s';
+  GLSCENE_REVISION = '$Revision: 1$';
+  GLSCENE_VERSION = 'v2023 %s';
 
 
 type
 type