Kaynağa Gözat

Updated cpp examples

glscene 2 hafta önce
ebeveyn
işleme
3d2ba48f7c
100 değiştirilmiş dosya ile 3487 ekleme ve 2384 silme
  1. 1 1
      Assets/ModelExt/waste.txt
  2. 42 2
      Examples/AdvDemos/ActorMS3D/ActorMS3dC.cbproj
  3. 2 2
      Examples/AdvDemos/ActorMS3D/ActorMS3dC.cpp
  4. 17 17
      Examples/AdvDemos/ActorMS3D/fActorMS3dC.cpp
  5. 3 3
      Examples/AdvDemos/ActorMS3D/fActorMS3dC.dfm
  6. 5 5
      Examples/AdvDemos/ActorMS3D/fActorMS3dC.h
  7. 1 0
      Examples/AdvDemos/ActorMS3D/fActorms3dD.dfm
  8. 41 2
      Examples/AdvDemos/Archipelago/ArchipelagoC.cbproj
  9. 1 1
      Examples/AdvDemos/Archipelago/fArchipelagoC.cpp
  10. 41 2
      Examples/AdvDemos/Christmas/ChristmasC.cbproj
  11. 45 5
      Examples/AdvDemos/GLSViewer/GLSViewerC.cbproj
  12. 48 0
      Examples/AdvDemos/GLSViewer/GLSViewers.groupproj
  13. 14 0
      Examples/AdvDemos/GLSViewer/ReadMe.md
  14. 1 1
      Examples/AdvDemos/GLSViewer/Source/fGLDialog.dfm
  15. 1 1
      Examples/AdvDemos/GLSViewer/Source/fGLDialog.pas
  16. 1 1
      Examples/AdvDemos/GLSViewer/Source/fGLForm.pas
  17. 4 1
      Examples/AdvDemos/GLSViewer/Source/fGLSViewer.dfm
  18. 18 18
      Examples/AdvDemos/GLSViewer/Source/fGLSViewer.pas
  19. 26 0
      Examples/AdvDemos/GLSViewer/Source/fcGLSViewer.cpp
  20. 15 15
      Examples/AdvDemos/GLSViewer/Source/fcGLSViewer.dfm
  21. 81 14
      Examples/AdvDemos/GLSViewer/Source/fcGLSViewer.h
  22. 0 23
      Examples/AdvDemos/GLSViewer/readme.txt
  23. 41 2
      Examples/AdvDemos/IntensityMesh/IntensityMeshC.cbproj
  24. 41 2
      Examples/AdvDemos/PanoramViewer/PanoViewerC.cbproj
  25. 41 2
      Examples/AdvDemos/Quake3Actor/QuakeActorC.cbproj
  26. 41 2
      Examples/AdvDemos/TexCombine/TexCombineC.cbproj
  27. 48 78
      Examples/Demos/behaviours/Torque/fTorqueD.dfm
  28. 1 1
      Examples/Demos/behaviours/Torque/fTorqueD.pas
  29. 41 1
      Examples/Demos/bench/BenchC.cbproj
  30. 11 1
      Examples/Demos/bench/BenchD.dproj
  31. 11 24
      Examples/Demos/cgshaders/BlinnSheen/fdBlinnSheen.dfm
  32. 5 4
      Examples/Demos/cgshaders/BlinnSheen/fdBlinnSheen.pas
  33. 33 3
      Examples/Demos/cgshaders/BombShader/CGBombShaderC.cbproj
  34. 1 1
      Examples/Demos/cgshaders/BombShader/CGBombShaderC.cpp
  35. 1 1
      Examples/Demos/cgshaders/BombShader/CgBombShaderD.dpr
  36. 1 1
      Examples/Demos/cgshaders/BombShader/CgBombShaderD.dproj
  37. 28 28
      Examples/Demos/cgshaders/BombShader/fcCgBombShader.cpp
  38. 139 192
      Examples/Demos/cgshaders/BombShader/fcCgBombShader.dfm
  39. 20 20
      Examples/Demos/cgshaders/BombShader/fcCgBombShader.h
  40. 12 9
      Examples/Demos/cgshaders/BombShader/fdCgBombShader.dfm
  41. 1 1
      Examples/Demos/cgshaders/BombShader/fdCgBombShader.pas
  42. 1 1
      Examples/Demos/cgshaders/BumpMap/CgBumpMapD.dpr
  43. 1 1
      Examples/Demos/cgshaders/BumpMap/CgBumpMapD.dproj
  44. 29 73
      Examples/Demos/cgshaders/BumpMap/fdBumpMap.dfm
  45. 1 1
      Examples/Demos/cgshaders/BumpMap/fdBumpMap.pas
  46. 15 3
      Examples/Demos/cgshaders/CGshaderC.groupproj
  47. 33 3
      Examples/Demos/cgshaders/CellShader/CgCellShaderC.cbproj
  48. 1 1
      Examples/Demos/cgshaders/CellShader/CgCellShaderC.cpp
  49. 1 1
      Examples/Demos/cgshaders/CellShader/CgCellShaderD.dpr
  50. 1 1
      Examples/Demos/cgshaders/CellShader/CgCellShaderD.dproj
  51. 1 1
      Examples/Demos/cgshaders/CellShader/fcCelShading.cpp
  52. 11 24
      Examples/Demos/cgshaders/CellShader/fcCelShading.dfm
  53. 2 2
      Examples/Demos/cgshaders/CellShader/fcCelShading.h
  54. 9 16
      Examples/Demos/cgshaders/CellShader/fdCgCellShader.dfm
  55. 1 1
      Examples/Demos/cgshaders/CellShader/fdCgCellShader.pas
  56. 1 1
      Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dpr
  57. 1 1
      Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dproj
  58. 3 2
      Examples/Demos/cgshaders/CloudSky/fdCloudSky.dfm
  59. 1 1
      Examples/Demos/cgshaders/CloudSky/fdCloudSky.pas
  60. 1 1
      Examples/Demos/cgshaders/DistTex/CgDisttexD.dpr
  61. 1 1
      Examples/Demos/cgshaders/DistTex/CgDisttexD.dproj
  62. 7 16
      Examples/Demos/cgshaders/DistTex/fdDisttex.dfm
  63. 1 1
      Examples/Demos/cgshaders/DistTex/fdDisttex.pas
  64. 33 3
      Examples/Demos/cgshaders/Reflect/CgReflectC.cbproj
  65. 1 1
      Examples/Demos/cgshaders/Reflect/CgReflectC.cpp
  66. 1 1
      Examples/Demos/cgshaders/Reflect/CgReflectD.dpr
  67. 1 1
      Examples/Demos/cgshaders/Reflect/CgReflectD.dproj
  68. 1 1
      Examples/Demos/cgshaders/Reflect/fcReflect.cpp
  69. 149 330
      Examples/Demos/cgshaders/Reflect/fcReflect.dfm
  70. 2 2
      Examples/Demos/cgshaders/Reflect/fcReflect.h
  71. 158 342
      Examples/Demos/cgshaders/Reflect/fdReflect.dfm
  72. 1 1
      Examples/Demos/cgshaders/Reflect/fdReflect.pas
  73. 344 331
      Examples/Demos/cgshaders/SimpleCG/CgSimpleC.cbproj
  74. 1 1
      Examples/Demos/cgshaders/SimpleCG/CgSimpleC.cpp
  75. 2 5
      Examples/Demos/cgshaders/SimpleCG/fcCgSimple.cpp
  76. 9 0
      Examples/Demos/cgshaders/SimpleCG/fcCgSimple.dfm
  77. 3 3
      Examples/Demos/cgshaders/SimpleCG/fcCgSimple.h
  78. 33 3
      Examples/Demos/cgshaders/Texturing/CgTextureC.cbproj
  79. 1 1
      Examples/Demos/cgshaders/Texturing/CgTextureC.cpp
  80. 1 1
      Examples/Demos/cgshaders/Texturing/CgTextureD.dpr
  81. 1 1
      Examples/Demos/cgshaders/Texturing/CgTextureD.dproj
  82. 1 1
      Examples/Demos/cgshaders/Texturing/fcCgTexture.cpp
  83. 263 536
      Examples/Demos/cgshaders/Texturing/fcCgTexture.dfm
  84. 2 2
      Examples/Demos/cgshaders/Texturing/fcCgTexture.h
  85. 0 0
      Examples/Demos/cgshaders/Texturing/fdCgTexture.dfm
  86. 1 1
      Examples/Demos/cgshaders/Texturing/fdCgTexture.pas
  87. 8 8
      Examples/Demos/extrusion/aExtrusion.htm
  88. 33 3
      Examples/Demos/glslshaders/BumpShader/BumpShaderC.cbproj
  89. 1 1
      Examples/Demos/glslshaders/BumpShader/BumpShaderC.cpp
  90. 1 1
      Examples/Demos/glslshaders/BumpShader/BumpShaderD.dpr
  91. 1 1
      Examples/Demos/glslshaders/BumpShader/BumpShaderD.dproj
  92. 1 1
      Examples/Demos/glslshaders/BumpShader/fcBumpShader.cpp
  93. 43 79
      Examples/Demos/glslshaders/BumpShader/fcBumpShader.dfm
  94. 2 2
      Examples/Demos/glslshaders/BumpShader/fcBumpShader.h
  95. 40 79
      Examples/Demos/glslshaders/BumpShader/fdBumpShader.dfm
  96. 1 1
      Examples/Demos/glslshaders/BumpShader/fdBumpShader.pas
  97. 0 0
      Examples/Demos/glslshaders/SkyShader/SkyShader.jpg
  98. 1251 0
      Examples/Demos/glslshaders/SkyShader/SkyShaderC.cbproj
  99. 35 0
      Examples/Demos/glslshaders/SkyShader/SkyShaderC.cpp
  100. 13 0
      Examples/Demos/glslshaders/SkyShader/SkyShaderD.dpr

+ 1 - 1
Assets/ModelExt/waste.txt

@@ -8,7 +8,7 @@ Host:		http://www.frag.com
 
 : What Waste is :
 
-Waste is my first player model for quake2.  It was an experiment for me in every respect.  I've never animated a character before, much less 198 frames of it.  It's also my first character skin as well.  I doubt I will clean up or fix the problem spots (never build a stock on your gun model, it's a nightmare...), as I'm already starting my second player model based on what I learned here.
+Waste is my first player model for quake2.  I've never animated a character before, much less 198 frames of it.  It's also my first character skin as well.  I doubt I will clean up or fix the problem spots (never build a stock on your gun model, it's a nightmare...), as I'm already starting my second player model based on what I learned here.
 
 Waste wasn't meant to be a character that lives in the q2 world.  He's basically a post-apocolyptic headhunter.  His main weapon in my sketches was actually to be a beheader's sword and a fletchet styled cannon, but...
 

+ 42 - 2
Examples/AdvDemos/ActorMS3D/ActorMS3dC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{FAFF39E9-273F-4E82-8891-C191248C45DF}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>ActorMS3dC.cpp</MainSource>
@@ -150,7 +150,7 @@
             <BuildOrder>0</BuildOrder>
         </CppCompile>
         <CppCompile Include="fActorMS3dC.cpp">
-            <Form>Form1</Form>
+            <Form>FormDancer</Form>
             <FormType>dfm</FormType>
             <DependentOn>fActorMS3dC.h</DependentOn>
             <BuildOrder>2</BuildOrder>
@@ -217,6 +217,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -234,6 +244,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c280.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c280mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c290.dll" Class="DependencyModule">
@@ -246,6 +266,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\ActorMS3dC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\ActorMS3dC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -362,6 +392,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 2 - 2
Examples/AdvDemos/ActorMS3D/ActorMS3dC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fActorMS3dC.cpp", Form1);
+USEFORM("fActorMS3dC.cpp", FormDancer);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {
@@ -12,7 +12,7 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 	{
 		Application->Initialize();
 		Application->MainFormOnTaskBar = true;
-		Application->CreateForm(__classid(TForm1), &Form1);
+		Application->CreateForm(__classid(TFormDancer), &FormDancer);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 17 - 17
Examples/AdvDemos/ActorMS3D/fActorMS3dC.cpp

@@ -42,7 +42,7 @@
 #pragma link "GLS.FileTGA"
 
 #pragma resource "*.dfm"
-TForm1* Form1;
+TFormDancer* FormDancer;
 
 int mdx, mdy;
 TMatrix4f FBiasMatrix;
@@ -57,10 +57,10 @@ TMatrix4f FInvCameraMatrix2;
 TMatrix4f FEyeToLightMatrix2;
 
 // ---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {}
+__fastcall TFormDancer::TFormDancer(TComponent* Owner) : TForm(Owner) {}
 // ---------------------------------------------------------------------------
 
-void __fastcall TForm1::Actor1EndFrameReached(TObject* Sender)
+void __fastcall TFormDancer::Actor1EndFrameReached(TObject* Sender)
 {
 	if (Actor1->AnimationMode == aamNone) {
         btnStartStop->Caption = "Start";
@@ -70,7 +70,7 @@ void __fastcall TForm1::Actor1EndFrameReached(TObject* Sender)
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::aniBoxSelect(TObject* Sender)
+void __fastcall TFormDancer::aniBoxSelect(TObject* Sender)
 {
     Actor1->AnimationMode = aamNone;
     if (aniBox->ItemIndex != -1) {
@@ -88,7 +88,7 @@ void __fastcall TForm1::aniBoxSelect(TObject* Sender)
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::aniPosChange(TObject* Sender)
+void __fastcall TFormDancer::aniPosChange(TObject* Sender)
 {
     if (aniPos->Enabled) {
         Actor1->CurrentFrame = Actor1->StartFrame + aniPos->Position;
@@ -96,7 +96,7 @@ void __fastcall TForm1::aniPosChange(TObject* Sender)
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::btnStartStopClick(TObject* Sender)
+void __fastcall TFormDancer::btnStartStopClick(TObject* Sender)
 {
     if (Actor1->AnimationMode == aamNone) {
         if (Actor1->CurrentFrame == Actor1->EndFrame) {
@@ -115,26 +115,26 @@ void __fastcall TForm1::btnStartStopClick(TObject* Sender)
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::Button2Click(TObject* Sender)
+void __fastcall TFormDancer::ButtonNextFrameClick(TObject* Sender)
 {
     Actor1->NextFrame();
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::Button4Click(TObject* Sender)
+void __fastcall TFormDancer::Button4Click(TObject* Sender)
 {
     Actor1->PrevFrame();
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::FormCloseQuery(TObject* Sender, bool &CanClose)
+void __fastcall TFormDancer::FormCloseQuery(TObject* Sender, bool &CanClose)
 {
 	Actor1->AnimationMode = aamNone;
 	GLCadencer1->Enabled = false;
 }
 
 // ---------------------------------------------------------------------------
-void _fastcall TForm1::LoadTexture(String AName, String ext)
+void _fastcall TFormDancer::LoadTexture(String AName, String ext)
 {
 	TGLCompositeImage* img;
 	TStream* strm = new TStream();
@@ -145,7 +145,7 @@ void _fastcall TForm1::LoadTexture(String AName, String ext)
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject* Sender)
+void __fastcall TFormDancer::FormCreate(TObject* Sender)
 {
 	TFileName Path = GetCurrentAssetPath();
 
@@ -223,14 +223,14 @@ void __fastcall TForm1::FormCreate(TObject* Sender)
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::FormShow(TObject* Sender)
+void __fastcall TFormDancer::FormShow(TObject* Sender)
 {
 	aniBox->ItemIndex = 0;
 	aniBoxSelect(Sender);
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::GLCadencer1Progress(
+void __fastcall TFormDancer::GLCadencer1Progress(
 	TObject* Sender, const double deltaTime, const double newTime)
 {
 	TAffineVector af, af2, pv, pv2;
@@ -244,7 +244,7 @@ void __fastcall TForm1::GLCadencer1Progress(
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::GLDirectOpenGL1Render(
+void __fastcall TFormDancer::GLDirectOpenGL1Render(
 	TObject* Sender, TGLRenderContextInfo &rci)
 
 {
@@ -255,7 +255,7 @@ void __fastcall TForm1::GLDirectOpenGL1Render(
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::GLFrameBufferAfterRender(
+void __fastcall TFormDancer::GLFrameBufferAfterRender(
 	TObject* Sender, TGLRenderContextInfo &rci)
 
 {
@@ -263,7 +263,7 @@ void __fastcall TForm1::GLFrameBufferAfterRender(
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::GLFrameBufferBeforeRender(
+void __fastcall TFormDancer::GLFrameBufferBeforeRender(
 	TObject* Sender, TGLRenderContextInfo &rci)
 
 {
@@ -277,7 +277,7 @@ void __fastcall TForm1::GLFrameBufferBeforeRender(
 }
 
 // ---------------------------------------------------------------------------
-void __fastcall TForm1::Timer1Timer(TObject* Sender)
+void __fastcall TFormDancer::Timer1Timer(TObject* Sender)
 {
     aniPos->Position =
         Actor1->CurrentFrame -

+ 3 - 3
Examples/AdvDemos/ActorMS3D/fActorMS3dC.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormDancer: TFormDancer
   Left = 332
   Top = 110
   Caption = 'Actor MS3D Animation'
@@ -38,7 +38,7 @@ object Form1: TForm1
     Align = alTop
     TabOrder = 1
     ExplicitWidth = 939
-    object Button2: TButton
+    object ButtonNextFrame: TButton
       Left = 374
       Top = 13
       Width = 94
@@ -49,7 +49,7 @@ object Form1: TForm1
       Margins.Bottom = 4
       Caption = 'Next Frame'
       TabOrder = 0
-      OnClick = Button2Click
+      OnClick = ButtonNextFrameClick
     end
     object btnStartStop: TButton
       Left = 16

+ 5 - 5
Examples/AdvDemos/ActorMS3D/fActorMS3dC.h

@@ -37,12 +37,12 @@
 #include "GLSL.CustomShader.hpp"
 
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormDancer : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *GLSceneViewer1;
 	TPanel *Panel1;
-	TButton *Button2;
+	TButton *ButtonNextFrame;
 	TButton *btnStartStop;
 	TButton *Button4;
 	TComboBox *aniBox;
@@ -68,7 +68,7 @@ __published:	// IDE-managed Components
 	void __fastcall aniBoxSelect(TObject *Sender);
 	void __fastcall aniPosChange(TObject *Sender);
 	void __fastcall btnStartStopClick(TObject *Sender);
-	void __fastcall Button2Click(TObject *Sender);
+	void __fastcall ButtonNextFrameClick(TObject *Sender);
 	void __fastcall Button4Click(TObject *Sender);
 	void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
 	void __fastcall FormCreate(TObject *Sender);
@@ -84,9 +84,9 @@ __published:	// IDE-managed Components
 
 private:	// User declarations
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormDancer(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormDancer *FormDancer;
 //---------------------------------------------------------------------------
 #endif

+ 1 - 0
Examples/AdvDemos/ActorMS3D/fActorms3dD.dfm

@@ -29,6 +29,7 @@ object FormActorms3d: TFormActorms3d
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
+    ExplicitTop = 71
   end
   object Panel1: TPanel
     Left = 0

+ 41 - 2
Examples/AdvDemos/Archipelago/ArchipelagoC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{54E4D684-D7B4-45A5-A717-6DB20504919E}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>ArchipelagoC.cpp</MainSource>
@@ -198,7 +198,6 @@
             <DependentOn>fArchipelagoC.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fArchipelagoC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -305,6 +304,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -330,6 +339,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c250.dll" Class="DependencyModule"/>
@@ -348,6 +367,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\ArchipelagoC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\ArchipelagoC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -464,6 +493,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 1 - 1
Examples/AdvDemos/Archipelago/fArchipelagoC.cpp

@@ -47,7 +47,7 @@ void __fastcall TForm1::FormCreate(TObject *Sender) {
 	String DataPath;
 
 	DataPath = ExtractFilePath(ParamStr(0));
-	DataPath += "Data\\";
+  	DataPath += "data\\";
 	SetCurrentDir(DataPath);
 	MaterialLibrary->TexturePaths = DataPath;
 

+ 41 - 2
Examples/AdvDemos/Christmas/ChristmasC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{822C538E-7361-4820-94A6-0C35840CE6D2}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>ChristmasC.cpp</MainSource>
@@ -193,7 +193,6 @@
             <DependentOn>fChrismasC.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fChrismasC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -300,6 +299,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -325,6 +334,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c250.dll" Class="DependencyModule"/>
@@ -343,6 +362,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\ChristmasC.scr" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\ChristmasC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -459,6 +488,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 45 - 5
Examples/AdvDemos/GLSViewer/GLSViewerC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{9EB806E9-A210-4811-B66C-0365723641ED}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>GLSViewerC.cpp</MainSource>
@@ -216,10 +216,10 @@
                     <Source Name="MainSource">GLSViewerC.cpp</Source>
                 </Source>
                 <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k290.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp290.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k290.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k370.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp370.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k370.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp370.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                 </Excluded_Packages>
             </CPlusPlusBuilder.Personality>
             <Deployment Version="5">
@@ -248,6 +248,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -263,6 +273,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c290.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -273,6 +293,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\GLSViewerC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\GLSViewerC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -389,6 +419,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 48 - 0
Examples/AdvDemos/GLSViewer/GLSViewers.groupproj

@@ -0,0 +1,48 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <ProjectGuid>{3BB2E069-CFF4-414D-ADB5-2F0B6BCC6BF9}</ProjectGuid>
+    </PropertyGroup>
+    <ItemGroup>
+        <Projects Include="GLSViewerD.dproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="GLSViewerC.cbproj">
+            <Dependencies/>
+        </Projects>
+    </ItemGroup>
+    <ProjectExtensions>
+        <Borland.Personality>Default.Personality.12</Borland.Personality>
+        <Borland.ProjectType/>
+        <BorlandProject>
+            <Default.Personality/>
+        </BorlandProject>
+    </ProjectExtensions>
+    <Target Name="GLSViewerD">
+        <MSBuild Projects="GLSViewerD.dproj"/>
+    </Target>
+    <Target Name="GLSViewerD:Clean">
+        <MSBuild Projects="GLSViewerD.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="GLSViewerD:Make">
+        <MSBuild Projects="GLSViewerD.dproj" Targets="Make"/>
+    </Target>
+    <Target Name="GLSViewerC">
+        <MSBuild Projects="GLSViewerC.cbproj"/>
+    </Target>
+    <Target Name="GLSViewerC:Clean">
+        <MSBuild Projects="GLSViewerC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="GLSViewerC:Make">
+        <MSBuild Projects="GLSViewerC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="Build">
+        <CallTarget Targets="GLSViewerD;GLSViewerC"/>
+    </Target>
+    <Target Name="Clean">
+        <CallTarget Targets="GLSViewerD:Clean;GLSViewerC:Clean"/>
+    </Target>
+    <Target Name="Make">
+        <CallTarget Targets="GLSViewerD:Make;GLSViewerC:Make"/>
+    </Target>
+    <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
+</Project>

+ 14 - 0
Examples/AdvDemos/GLSViewer/ReadMe.md

@@ -0,0 +1,14 @@
+ArenaCPP
+
+A fast 3D mesh viewer. 
+Supports smooth and flat shading, wireframes,
+hidden lines removal, texturing and antialiasing.
+
+3D Formats: 3DS, OBJ, SMD, MD2, GLB, TIN, PLY, STL etc.
+2D Formats: PNG, JPG, BMP, TGA etc.
+
+Join us and enjoy.
+https://gitverse.ru/glscene
+
+
+GaLaXyS Team

+ 1 - 1
Examples/AdvDemos/GLSViewer/Source/fGLDialog.dfm

@@ -6,7 +6,7 @@ inherited GLDialog: TGLDialog
   StyleElements = [seFont, seClient, seBorder]
   ExplicitWidth = 500
   ExplicitHeight = 401
-  TextHeight = 20
+  TextHeight = 21
   object PanelTop: TPanel
     Left = 0
     Top = 0

+ 1 - 1
Examples/AdvDemos/GLSViewer/Source/fGLDialog.pas

@@ -36,7 +36,7 @@ type
 var
   GLDialog: TGLDialog;
 
-implementation
+implementation //=============================================================
 
 {$R *.dfm}
 

+ 1 - 1
Examples/AdvDemos/GLSViewer/Source/fGLForm.pas

@@ -31,7 +31,7 @@ type
 var
   GLForm: TGLForm;
 
-implementation  //---------------------------------------------------------
+implementation  //============================================================
 
 {$R *.dfm}
 

+ 4 - 1
Examples/AdvDemos/GLSViewer/Source/fGLSViewer.dfm

@@ -152,6 +152,8 @@ object frmGLSViewer: TfrmGLSViewer
         Text = 'Model'
         Width = 40
       end>
+    ExplicitTop = 658
+    ExplicitWidth = 1072
   end
   object snViewer: TGLSceneViewer
     Left = 273
@@ -256,7 +258,7 @@ object frmGLSViewer: TfrmGLSViewer
     ColorMap.BtnSelectedFont = clBlack
     ColorMap.UnusedColor = clWhite
     Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
+    Font.Color = clBlack
     Font.Height = -16
     Font.Name = 'MS Sans Serif'
     Font.Style = []
@@ -269,6 +271,7 @@ object frmGLSViewer: TfrmGLSViewer
     Height = 629
     Align = alLeft
     TabOrder = 4
+    ExplicitHeight = 604
     object tvScene: TTreeView
       Left = 1
       Top = 1

+ 18 - 18
Examples/AdvDemos/GLSViewer/Source/fGLSViewer.pas

@@ -35,11 +35,13 @@ uses
   Vcl.VirtualImageList,
   Vcl.BaseImageCollection,
   Vcl.ImageCollection,
+  Vcl.PlatformDefaultStyleActnCtrls,
 
   Stage.VectorTypes,
-  GLS.VectorLists,
   Stage.Keyboard,
   Stage.VectorGeometry,
+
+  GLS.VectorLists,
   GLS.Coordinates,
   GLS.BaseClasses,
   GLS.PersistentClasses,
@@ -77,7 +79,7 @@ uses
   fGLAbout,
   fGLOptions,
   dImages,
-  dDialogs, Vcl.PlatformDefaultStyleActnCtrls;
+  dDialogs;
 
 type
   TfrmGLSViewer = class(TGLForm)
@@ -353,7 +355,6 @@ begin
         Result := False;
       end;
   else
-    // doesn't hurt to be cautious
     Assert(False);
     Result := False;
   end;
@@ -1144,14 +1145,14 @@ begin
   // Add or removed scene's objects
 end;
 
-//---------------------------------------------------------------------------
+//------------------------- tvSceneClick -------------------------------------
 procedure TfrmGLSViewer.tvSceneClick(Sender: TObject);
 var
   I: Integer;
   pos1, pos2: TGLVector;
-
 const
   Nlines = 1000;
+
 begin
   dcObject.DeleteChildren;
 
@@ -1168,7 +1169,7 @@ begin
          dcObject.VisibleAtRunTime := not dcObject.VisibleAtRunTime;
          dcAxis.VisibleAtRunTime := not dcAxis.VisibleAtRunTime;
        end;
-    3:;//Sprite
+    3:;//Sprite todo
     4: //Points in dcWorld
     begin
       Points.Visible := True;
@@ -1180,11 +1181,10 @@ begin
       Lines := TGLLines.CreateAsChild(dcObject);
       SetVector(pos1, Random()-0.5, Random()-0.5, Random()-0.5);
       SetVector(pos2, Random()-0.5, Random()-0.5, Random()-0.5);
-      Lines.NodesAspect := lnaInvisible;
+      Lines.NodesAspect := lnaInvisible; // also lnaAxes; lnaCube;
       Lines.AddNode(pos1);
       Lines.AddNode(pos2);
       Lines.LineColor.RandomColor;
-      /// e.g. Lines.AddChild(ff);
     end;
     6: //Plane
     begin
@@ -1267,7 +1267,7 @@ begin
       SuperEllipsoid := TGLSuperEllipsoid.CreateAsChild(dcObject);
       SuperEllipsoid.Material.FrontProperties.Diffuse.Color := clrTeal;
     end;
-    21: //Animated sprite
+    21: //Animated sprite todo
     begin
       //
     end;
@@ -1323,39 +1323,39 @@ begin
       Actor.Turn(90);
       Actor.Scale.Scale(0.05);
     end;
-    31: //FreeForm
+    31: //FreeForm todo
     begin
       //
     end;
-    32: //Mesh
+    32: //Mesh todo
     begin
       //
     end;
-    33: //TilePlane
+    33: //TilePlane todo
     begin
       //
     end;
-    34: //Portal
+    34: //Portal todo
     begin
       //
     end;
-    35: //TerrainRenderer
+    35: //TerrainRenderer todo
     begin
       //
     end;
-    41: //Atmosphere
+    41: //Atmosphere todo
     begin
       //
     end;
-    42: //SkyBox
+    42: //SkyBox todo
     begin
       //
     end;
-    43: //SkyDome
+    43: //SkyDome todo
     begin
       //
     end;
-    44: //EarthSkyDome
+    44: //EarthSkyDome todo
     begin
       //
     end;

+ 26 - 0
Examples/AdvDemos/GLSViewer/Source/fcGLSViewer.cpp

@@ -13,12 +13,18 @@
 #pragma link "GLS.Graph"
 #pragma link "GLS.Material"
 #pragma link "GLS.Objects"
+#pragma link "GLS.GeomObjects"
+#pragma link "GLS.MultiPolygon"
+#pragma link "GLS.Extrusion"
 #pragma link "GLS.Scene"
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.SimpleNavigation"
 #pragma link "GLS.VectorFileObjects"
+#pragma link "GLS.SkyDome"
+#pragma link "GLS.Navigator"
 #pragma resource "*.dfm"
 TFormViewer *FormViewer;
+TGLNaviCube *NaviCube;
 //---------------------------------------------------------------------------
 __fastcall TFormViewer::TFormViewer(TComponent* Owner)
 	: TForm(Owner)
@@ -30,3 +36,23 @@ void __fastcall TFormViewer::tvSceneClick(TObject *Sender)
  //
 }
 //---------------------------------------------------------------------------
+void __fastcall TFormViewer::FormCreate(TObject *Sender)
+{
+  AssetPath = GetCurrentAssetPath();
+  TextureDir = AssetPath + '\\texture';
+  SetCurrentDir(TextureDir);
+
+//  NaviCube = TGLNaviCube->CreateAsChild(Scene->Objects);
+//  NaviCube->SceneViewer = snViewer;
+//  NaviCube->FPS = 30;
+
+ // instantiate our specific hidden-lines shader
+//  hlShader = THiddenLineShader.Create(Self);
+  ffObject->IgnoreMissingTextures = True;
+
+  tvScene->FullExpand();
+//  tvScene->Select(tvScene->Items[9]);  // goto to Cube
+  tvSceneClick(this);
+}
+//---------------------------------------------------------------------------
+

+ 15 - 15
Examples/AdvDemos/GLSViewer/Source/fcGLSViewer.dfm

@@ -3,7 +3,7 @@ object FormViewer: TFormViewer
   Top = 0
   Caption = 'GLSViewer'
   ClientHeight = 595
-  ClientWidth = 785
+  ClientWidth = 930
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -11,11 +11,12 @@ object FormViewer: TFormViewer
   Font.Name = 'Segoe UI'
   Font.Style = []
   Position = poScreenCenter
+  OnCreate = FormCreate
   TextHeight = 15
   object StatusBar: TStatusBar
     Left = 0
     Top = 576
-    Width = 785
+    Width = 930
     Height = 19
     Panels = <
       item
@@ -34,13 +35,13 @@ object FormViewer: TFormViewer
         Text = 'Model'
         Width = 40
       end>
-    ExplicitTop = 424
-    ExplicitWidth = 733
+    ExplicitTop = 551
+    ExplicitWidth = 777
   end
   object snViewer: TGLSceneViewer
     Left = 153
     Top = 54
-    Width = 632
+    Width = 777
     Height = 522
     Camera = Camera
     Buffer.BackgroundColor = clGray
@@ -50,17 +51,16 @@ object FormViewer: TFormViewer
     PenAsTouch = False
     Align = alClient
     TabOrder = 1
-    ExplicitWidth = 581
-    ExplicitHeight = 370
+    ExplicitWidth = 632
   end
   object ControlBar: TControlBar
     Left = 0
     Top = 25
-    Width = 785
+    Width = 930
     Height = 29
     Align = alTop
     TabOrder = 2
-    ExplicitWidth = 733
+    ExplicitWidth = 777
     object atbTools: TActionToolBar
       Left = 333
       Top = 2
@@ -127,7 +127,7 @@ object FormViewer: TFormViewer
   object amMenuBar: TActionMainMenuBar
     Left = 0
     Top = 0
-    Width = 785
+    Width = 930
     Height = 25
     UseSystemFont = False
     ActionManager = ActionManager
@@ -143,7 +143,7 @@ object FormViewer: TFormViewer
     Font.Name = 'MS Sans Serif'
     Font.Style = []
     Spacing = 0
-    ExplicitWidth = 733
+    ExplicitWidth = 777
   end
   object PanelLeft: TPanel
     Left = 0
@@ -152,7 +152,7 @@ object FormViewer: TFormViewer
     Height = 522
     Align = alLeft
     TabOrder = 4
-    ExplicitHeight = 370
+    ExplicitHeight = 497
     object tvScene: TTreeView
       Left = 1
       Top = 1
@@ -359,7 +359,7 @@ object FormViewer: TFormViewer
         6D0070007500740069006E0067000000410000005E0000005E000000FFFFFFFF
         FFFFFFFF0000000000000000000000000001114300550044004100470065006E
         006500720061007400650064004D00650073006800}
-      ExplicitHeight = 368
+      ExplicitHeight = 495
     end
   end
   object Scene: TGLScene
@@ -423,8 +423,8 @@ object FormViewer: TFormViewer
     end
   end
   object MaterialLib: TGLMaterialLibrary
-    Left = 296
-    Top = 544
+    Left = 736
+    Top = 280
   end
   object Cadencer: TGLCadencer
     Scene = Scene

+ 81 - 14
Examples/AdvDemos/GLSViewer/Source/fcGLSViewer.h

@@ -4,20 +4,6 @@
 #define fcGLSViewerH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
-#include <Vcl.Controls.hpp>
-#include <Vcl.StdCtrls.hpp>
-#include <Vcl.Forms.hpp>
-#include "GLS.AsyncTimer.hpp"
-#include "GLS.BaseClasses.hpp"
-#include "GLS.Cadencer.hpp"
-#include "GLS.Coordinates.hpp"
-#include "GLS.Graph.hpp"
-#include "GLS.Material.hpp"
-#include "GLS.Objects.hpp"
-#include "GLS.Scene.hpp"
-#include "GLS.SceneViewer.hpp"
-#include "GLS.SimpleNavigation.hpp"
-#include "GLS.VectorFileObjects.hpp"
 #include <System.Actions.hpp>
 #include <System.ImageList.hpp>
 #include <Vcl.ActnCtrls.hpp>
@@ -32,6 +18,26 @@
 #include <Vcl.StdActns.hpp>
 #include <Vcl.StdStyleActnCtrls.hpp>
 #include <Vcl.ToolWin.hpp>
+#include <Vcl.Controls.hpp>
+#include <Vcl.StdCtrls.hpp>
+#include <Vcl.Forms.hpp>
+#include "GLS.AsyncTimer.hpp"
+#include "GLS.BaseClasses.hpp"
+#include "GLS.Cadencer.hpp"
+#include "GLS.Coordinates.hpp"
+#include "GLS.Graph.hpp"
+#include "GLS.Material.hpp"
+#include "GLS.Objects.hpp"
+#include "GLS.GeomObjects.hpp"
+#include "GLS.MultiPolygon.hpp"
+#include "GLS.Extrusion.hpp"
+#include "GLS.Scene.hpp"
+#include "GLS.SceneViewer.hpp"
+#include "GLS.SimpleNavigation.hpp"
+#include "GLS.VectorFileObjects.hpp"
+#include "GLS.SkyDome.hpp"
+#include "GLS.Navigator.hpp"
+
 //---------------------------------------------------------------------------
 class TFormViewer : public TForm
 {
@@ -114,10 +120,71 @@ __published:	// IDE-managed Components
 	TOpenDialog *OpenDialog;
 	TSaveDialog *SaveDialog;
 	void __fastcall tvSceneClick(TObject *Sender);
+	void __fastcall FormCreate(TObject *Sender);
 private:	// User declarations
+	TFileName AssetPath;
+	TFileName TextureDir;
+	// Base objects
+	TGLLines *Lines;
+	TGLPlane *Plane;
+	TGLPolygon *Polygon;
+	TGLCube *Cube;
+	TGLFrustrum *Frustrum;
+	TGLSphere *Sphere;
+	TGLDisk *Disk;
+	TGLCone *Cone;
+	TGLCylinder *Cylinder;
+	TGLCapsule *Capsule;
+	TGLDodecahedron *Dodecahedron;
+	TGLIcosahedron *Icosahedron;
+	TGLHexahedron *Hexahedron;
+	TGLOctahedron *Octahedron;
+	TGLTetrahedron *Tetrahedron;
+//	TGLSuperEllipsoid *SuperEllipsoid;
+	// Advanced objects
+	TGLAnnulus *Annulus;
+	TGLArrowLine *ArrowLine;
+	TGLArrowArc *ArrowArc;
+	TGLMultiPolygon *MultiPolygon;
+	TGLRevolutionSolid *RevolutionSolid;
+	TGLExtrusionSolid *ExtrusionSolid;
+	// Mesh objects
+	TGLActor *Actor;
+	TGLFreeForm *FreeForm;
+	TGLMeshObject *MeshObject;
+	// Environment objects
+	TGLSkyBox *SkyBox;
+	TGLSkyDome *SkyDome;
+	TGLEarthSkyDome *EarthSkyDome;
+
+/*
+	void DoResetCamera;
+	void SetupFreeFormShading;
+	void ApplyShadeModeToMaterial(aMaterial: TGLMaterial);
+	void ApplyShadeMode;
+	void ApplyFSAA;
+	void ApplyFaceCull;
+	void ApplyTexturing;
+	void ApplyFPS;
+	void DoOpen(const FileName: String);
+*/
+
 public:		// User declarations
 	__fastcall TFormViewer(TComponent* Owner);
+	bool md, nthShow;
+	int mx, my;
+	TGLShader *hlShader;
+	/// StringlastFileName;
+	bool lastLoadWithTextures;
+/*
+	void ApplyBgColor;
+	void ReadIniFile; override;
+	void WriteIniFile;
+*/
+
 };
+
+
 //---------------------------------------------------------------------------
 extern PACKAGE TFormViewer *FormViewer;
 //---------------------------------------------------------------------------

+ 0 - 23
Examples/AdvDemos/GLSViewer/readme.txt

@@ -1,23 +0,0 @@
-GLSViewer
-
-A fast 3D mesh viewer. 
-Released as Freeware and open-sourced
-under Mozilla PL (http://mozilla.org)
-
-3D Formats: 3DS, OBJ, SMD, MD2, TIN, PLY, STL etc.
-2D Formats: JPG, BMP, TGA, CEL etc.
-
-Supports smooth and flat shading, wireframes,
-hidden lines removal, texturing and antialiasing
-(if supported by hardware).
-
-GLSViewer was made and packaged with the following
-tools and libraries:
-
-http://glscene.org
-https://sourceforge.net/projects/glscene
-https://github.com/glscene
-
-Enjoy.
-
-GLS Team

+ 41 - 2
Examples/AdvDemos/IntensityMesh/IntensityMeshC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{43B9CA43-091C-426D-B0B4-FBCDE6D1D193}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>IntensityMeshC.cpp</MainSource>
@@ -185,7 +185,6 @@
         <CppCompile Include="IntensityMeshC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <FormResources Include="fIntensityMeshC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -290,6 +289,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -313,6 +322,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c250.dll" Class="DependencyModule"/>
@@ -331,6 +350,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\IntensityMeshC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\IntensityMeshC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -447,6 +476,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 41 - 2
Examples/AdvDemos/PanoramViewer/PanoViewerC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{0679ABC3-D681-40D8-80B1-441A25F3A654}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>PanoViewerC.cpp</MainSource>
@@ -181,7 +181,6 @@
         <CppCompile Include="PanoViewerC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <FormResources Include="fPanoViewerC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -288,6 +287,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -313,6 +322,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule"/>
@@ -329,6 +348,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\PanoViewerC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\PanoViewerC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -445,6 +474,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 41 - 2
Examples/AdvDemos/Quake3Actor/QuakeActorC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{45066D16-3428-4775-AE54-2896D2D011AE}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>QuakeActorC.cpp</MainSource>
@@ -186,7 +186,6 @@
         <CppCompile Include="QuakeActorC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <FormResources Include="fQuakeActorC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -289,6 +288,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -310,6 +319,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule"/>
@@ -326,6 +345,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Q3DemoC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Q3DemoC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployFile LocalName=".\QuakeActorC.exe" Configuration="Debug" Class="ProjectOutput"/>
@@ -444,6 +473,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 41 - 2
Examples/AdvDemos/TexCombine/TexCombineC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{147B301F-24FD-4121-BD3C-55BB93D4DF2A}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>TexCombineC.cpp</MainSource>
@@ -185,7 +185,6 @@
         <CppCompile Include="TexCombineC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <FormResources Include="fTexCombineC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -239,6 +238,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -254,6 +263,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c290.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -264,6 +283,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\TexCombineC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\TexCombineC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -380,6 +409,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 48 - 78
Examples/Demos/behaviours/Torque/fTorqueD.dfm

@@ -1,125 +1,90 @@
 object FormTorque: TFormTorque
   Left = 125
   Top = 119
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   BorderWidth = 5
   Caption = 'Torque'
-  ClientHeight = 712
-  ClientWidth = 1314
+  ClientHeight = 407
+  ClientWidth = 751
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
-    Top = 137
-    Width = 1314
-    Height = 504
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 78
+    Width = 751
+    Height = 288
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 136.711135864257800000
+    FieldOfView = 110.444335937500000000
     PenAsTouch = False
     Align = alClient
+    OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 1314
-    Height = 137
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 751
+    Height = 78
     Align = alTop
     TabOrder = 1
+    ExplicitWidth = 743
     object lHexahedron: TLabel
-      Left = 490
-      Top = 14
-      Width = 162
-      Height = 72
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 280
+      Top = 8
+      Width = 90
+      Height = 39
       Alignment = taCenter
       Caption = 'Hexahedron has a small constant'#13#10'and linear damping'
       WordWrap = True
     end
     object lDodecahedron: TLabel
-      Left = 826
-      Top = 14
-      Width = 162
-      Height = 96
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 472
+      Top = 8
+      Width = 91
+      Height = 52
       Alignment = taCenter
       Caption = 'Dodecahedron has a'#13#10'small constant and'#13#10'quadratic damping'
       WordWrap = True
     end
     object lOctagedron: TLabel
-      Left = 224
-      Top = 14
-      Width = 140
-      Height = 96
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 128
+      Top = 8
+      Width = 79
+      Height = 52
       Alignment = taCenter
       Caption = 'Octahedron has a'#13#10'only quadratic damping'
       WordWrap = True
     end
     object lTetrahedron: TLabel
-      Left = 14
-      Top = 18
-      Width = 144
-      Height = 72
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 10
+      Width = 81
+      Height = 39
       Caption = 'Tetrahedron has an only quadratic damping'
       WordWrap = True
     end
     object lIcosahedron: TLabel
-      Left = 1057
-      Top = 14
-      Width = 203
-      Height = 72
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 604
+      Top = 8
+      Width = 114
+      Height = 39
       Alignment = taCenter
       Caption = 'Icosahedron has a small constant'#13#10'and linear damping'
       WordWrap = True
     end
     object CheckBox1: TCheckBox
-      Left = 14
-      Top = 96
-      Width = 142
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 55
+      Width = 81
+      Height = 17
       Caption = 'Double Mass'
       TabOrder = 0
       OnClick = CheckBox1Click
@@ -127,18 +92,16 @@ object FormTorque: TFormTorque
   end
   object PanelBottom: TPanel
     Left = 0
-    Top = 641
-    Width = 1314
-    Height = 71
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 366
+    Width = 751
+    Height = 41
     Align = alBottom
     Caption = 
       'Move your mouse over an object and it will start spinning. Click' +
       ' to get info.'
     TabOrder = 2
+    ExplicitTop = 341
+    ExplicitWidth = 743
   end
   object GLScene1: TGLScene
     Left = 16
@@ -168,16 +131,19 @@ object FormTorque: TFormTorque
         Direction.Coordinates = {2EF9E43E000000002EF9643F00000000}
         Position.Coordinates = {0000000000000000000080400000803F}
         Scale.Coordinates = {0000003F0000003F0000003F00000000}
+        Hint = 'Tetrahedron'
       end
       object Octahedron: TGLOctahedron
         Material.FrontProperties.Diffuse.Color = {CDCC4C3FF8FEFE3EACC8483E0000803F}
         Position.Coordinates = {0000000000000000000000400000803F}
         Scale.Coordinates = {CDCC4C3FCDCC4C3FCDCC4C3F00000000}
+        Hint = 'Octahedron'
       end
       object Cube: TGLCube
         Material.FrontProperties.Diffuse.Color = {F8FEFE3E0000803F000000000000803F}
         Direction.Coordinates = {0000003F00000000D7B35D3F00000000}
         TurnAngle = 30.000000000000000000
+        Hint = 'Cube'
       end
       object Hexahedron: TGLHexahedron
         Material.FrontProperties.Diffuse.Color = {9A99593F9A99593FCDCCCC3D0000803F}
@@ -186,17 +152,20 @@ object FormTorque: TFormTorque
         Position.Coordinates = {0000A0C000000000333333C00000803F}
         Scale.Coordinates = {0000003F0000003F0000003F00000000}
         TurnAngle = 30.000000000000000000
+        Hint = 'Hexahedron'
       end
       object Dodecahedron: TGLDodecahedron
         Material.FrontProperties.Diffuse.Color = {0000803F00000000000000000000803F}
         Material.BlendingMode = bmTransparency
         Position.Coordinates = {0000000000000000000000C00000803F}
         Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
+        Hint = 'Dodecahedron'
       end
       object Icosahedron: TGLIcosahedron
         Material.FrontProperties.Diffuse.Color = {14AE073F8FC2F53DD7A3F03E0000803F}
         Position.Coordinates = {0000000000000000000080C00000803F}
         Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
+        Hint = 'Icosahedron'
       end
       object Teapot: TGLTeapot
         Material.FrontProperties.Diffuse.Color = {1F856B3F14AE473F52B81E3F0000803F}
@@ -219,6 +188,7 @@ object FormTorque: TFormTorque
         Material.Texture.ImageClassName = 'TGLPicFileImage'
         Position.Coordinates = {000090C000000000000000000000803F}
         Scale.Coordinates = {0000C03F0000C03F0000C03F00000000}
+        Hint = 'Superellipsoid'
         Radius = 0.500000000000000000
         VCurve = 1.000000000000000000
         HCurve = 1.000000000000000000

+ 1 - 1
Examples/Demos/behaviours/Torque/fTorqueD.pas

@@ -116,7 +116,7 @@ begin
   begin
     oldColor := pickedObject.Material.FrontProperties.Emission.Color;
     //...turn it to yellow and show its name
-    pickedObject.Material.FrontProperties.Emission.Color := clrYellow;
+    //  pickedObject.Material.FrontProperties.Emission.Color := clrYellow;
     ShowMessage('You clicked the ' + pickedObject.Name);
     pickedObject.BuildList(rci);
     pickedObject.Material.FrontProperties.Emission.Color := oldColor;

+ 41 - 1
Examples/Demos/bench/BenchC.cbproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{A1659D39-7054-4893-9EA5-5698283820C4}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
         <MainSource>BenchC.cpp</MainSource>
@@ -271,6 +271,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -288,6 +298,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c280.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c280mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c290.dll" Class="DependencyModule">
@@ -300,6 +320,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName="BenchC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName="BenchC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">
@@ -416,6 +446,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 11 - 1
Examples/Demos/bench/BenchD.dproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{ADCDE751-2C93-4D66-A04E-189531A0BCD1}</ProjectGuid>
-        <ProjectVersion>20.2</ProjectVersion>
+        <ProjectVersion>20.3</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
@@ -274,6 +274,16 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="Android_AdaptiveIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-anydpi-v26</RemoteDir>

+ 11 - 24
Examples/Demos/cgshaders/BlinnSheen/fdBlinnSheen.dfm

@@ -1,36 +1,27 @@
 object FormBlinnSheen: TFormBlinnSheen
   Left = 192
   Top = 114
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Cg Normal/Bump Blinn Shading Demo'
-  ClientHeight = 676
-  ClientWidth = 740
+  ClientHeight = 386
+  ClientWidth = 423
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 740
-    Height = 676
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 423
+    Height = 386
     Camera = GLCamera1
     Buffer.BackgroundColor = clGray
-    FieldOfView = 163.170639038085900000
+    FieldOfView = 150.951690673828100000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
@@ -38,14 +29,10 @@ object FormBlinnSheen: TFormBlinnSheen
     TabOrder = 0
   end
   object CheckBox1: TCheckBox
-    Left = 560
-    Top = 14
-    Width = 170
-    Height = 30
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Left = 320
+    Top = 8
+    Width = 97
+    Height = 17
     Caption = 'BumpShader'
     Checked = True
     State = cbChecked

+ 5 - 4
Examples/Demos/cgshaders/BlinnSheen/fdBlinnSheen.pas

@@ -74,7 +74,7 @@ type
 var
   FormBlinnSheen: TFormBlinnSheen;
 
-implementation //-------------------------------------------------------------
+implementation //=============================================================
 
 {$R *.dfm}
 
@@ -213,9 +213,10 @@ var
   am: array [0 .. 2] of single;
 begin
   // Set up the texture sampler parameter
-  (* am[0]:=GLLightSource1.Diffuse.Red;
-    am[1]:=GLLightSource1.Diffuse.Green;
-    am[2]:=GLLightSource1.Diffuse.Blue;
+   am[0] := GLLightSource1.Diffuse.Red;
+   am[1] := GLLightSource1.Diffuse.Green;
+   am[2]:=GLLightSource1.Diffuse.Blue;
+   (*
     CgBumpShader.FragmentProgram.ParamByName('LightDiffuseColor').SetAsVector(am);
     CgBumpShader.VertexProgram.ParamByName('modelViewProjMatrix').SetAsStateMatrix( CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
     CgBumpShader.VertexProgram.ParamByName('vLightPosition').SetAsVector(GLLightSource1.Position.AsAffineVector);

+ 33 - 3
Examples/Demos/cgshaders/BombShader/CGBombShaderC.cbproj

@@ -176,13 +176,13 @@
         <CppCompile Include="CgBombShaderC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="fCgBombShaderC.cpp">
+        <CppCompile Include="fcCgBombShader.cpp">
             <Form>Form1</Form>
             <FormType>dfm</FormType>
-            <DependentOn>fCgBombShaderC.h</DependentOn>
+            <DependentOn>fcCgBombShader.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fCgBombShaderC.dfm"/>
+        <FormResources Include="fcCgBombShader.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -289,6 +289,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -314,6 +324,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule"/>
@@ -330,6 +350,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\CgBombShaderC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\CgBombShaderC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">

+ 1 - 1
Examples/Demos/cgshaders/BombShader/CGBombShaderC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fCgBombShaderC.cpp", Form1);
+USEFORM("fcCgBombShader.cpp", Form1);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 1 - 1
Examples/Demos/cgshaders/BombShader/CgBombShaderD.dpr

@@ -11,7 +11,7 @@ program CgBombShaderD;
 
 uses
   Forms,
-  fCgBombShaderD in 'fCgBombShaderD.pas' {FormCgBombShader};
+  fdCgBombShader in 'fdCgBombShader.pas' {FormCgBombShader};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/BombShader/CgBombShaderD.dproj

@@ -123,7 +123,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fCgBombShaderD.pas">
+        <DCCReference Include="fdCgBombShader.pas">
             <Form>FormCgBombShader</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 28 - 28
Examples/Demos/cgshaders/BombShader/fCgBombShaderC.cpp → Examples/Demos/cgshaders/BombShader/fcCgBombShader.cpp

@@ -3,7 +3,7 @@
 #include <tchar.h>
 #pragma hdrstop
 
-#include "fCgBombShaderC.h"
+#include "fcCgBombShader.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma link "GLS.BaseClasses"
@@ -34,15 +34,15 @@ __fastcall TForm1::TForm1(TComponent* Owner)
 
 void __fastcall TForm1::ResetPositions()
 {
-  TrackBar1->Position = InterpolateCombinedSafe(0.01, 10, MyShader->Displacement, 0, 100, 1, itLinear);
-  TrackBar2->Position = InterpolateCombinedSafe(-0.13, 10, MyShader->Sharpness, 0, 100, 1, itLinear);
-  TrackBar3->Position = InterpolateCombinedSafe(0.01, 6, MyShader->ColorSharpness, 0, 100, 1, itLinear);
-  TrackBar4->Position = InterpolateCombinedSafe(0.1, 1, MyShader->Speed, 0, 100, 1, itLinear);
-  TrackBar5->Position = InterpolateCombinedSafe(0.01, 8, MyShader->TurbDensity, 0, 100, 1, itLinear);
-  TrackBar6->Position = InterpolateCombinedSafe(-0.5, 0.5, MyShader->ColorRange, 0, 100, 1, itLinear);
-  TrackBar7->Position = InterpolateCombinedSafe(0, 1, MyShader->Alpha, 0, 100, 1, itLinear);
-  TrackBar8->Position = InterpolateCombinedSafe(0, 2, MyShader->MainTextureShare, 0, 100, 1, itLinear);
-  TrackBar9->Position = InterpolateCombinedSafe(0, 2, MyShader->GradientTextureShare, 0, 100, 1, itLinear);
+  TrackBarDisplacement->Position = InterpolateCombinedSafe(0.01, 10, MyShader->Displacement, 0, 100, 1, itLinear);
+  TrackBarSharpness->Position = InterpolateCombinedSafe(-0.13, 10, MyShader->Sharpness, 0, 100, 1, itLinear);
+  TrackBarColorSharpness->Position = InterpolateCombinedSafe(0.01, 6, MyShader->ColorSharpness, 0, 100, 1, itLinear);
+  TrackBarSpeed->Position = InterpolateCombinedSafe(0.1, 1, MyShader->Speed, 0, 100, 1, itLinear);
+  TrackBarTurbDensity->Position = InterpolateCombinedSafe(0.01, 8, MyShader->TurbDensity, 0, 100, 1, itLinear);
+  TrackBarColorRange->Position = InterpolateCombinedSafe(-0.5, 0.5, MyShader->ColorRange, 0, 100, 1, itLinear);
+  TrackBarAlpha->Position = InterpolateCombinedSafe(0, 1, MyShader->Alpha, 0, 100, 1, itLinear);
+  TrackBarMainTextureShare->Position = InterpolateCombinedSafe(0, 2, MyShader->MainTextureShare, 0, 100, 1, itLinear);
+  TrackBarGradientTextureShare->Position = InterpolateCombinedSafe(0, 2, MyShader->GradientTextureShare, 0, 100, 1, itLinear);
 
 }
 //---------------------------------------------------------------------------
@@ -103,52 +103,52 @@ void __fastcall TForm1::CheckBox1Click(TObject *Sender)
   ffSphere2->Visible = CheckBox4->Checked;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar1Change(TObject *Sender)
+void __fastcall TForm1::TrackBarDisplacementChange(TObject *Sender)
 {
   if (MyShader == NULL)
 	exit;
-  MyShader->Displacement = InterpolateCombinedSafe(0, 100, TrackBar1->Position, 0.01, 10, 1, itLinear);
+  MyShader->Displacement = InterpolateCombinedSafe(0, 100, TrackBarDisplacement->Position, 0.01, 10, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar2Change(TObject *Sender)
+void __fastcall TForm1::TrackBarSharpnessChange(TObject *Sender)
 {
-  MyShader->Sharpness = InterpolateCombinedSafe(0, 100, TrackBar2->Position, -0.13, 10, 1, itLinear);
+  MyShader->Sharpness = InterpolateCombinedSafe(0, 100, TrackBarSharpness->Position, -0.13, 10, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar3Change(TObject *Sender)
+void __fastcall TForm1::TrackBarColorSharpnessChange(TObject *Sender)
 {
-  MyShader->ColorSharpness = InterpolateCombinedSafe(0, 100, TrackBar3->Position, 0.01, 6, 1, itLinear);
+  MyShader->ColorSharpness = InterpolateCombinedSafe(0, 100, TrackBarColorSharpness->Position, 0.01, 6, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar4Change(TObject *Sender)
+void __fastcall TForm1::TrackBarSpeedChange(TObject *Sender)
 {
-  MyShader->Speed = InterpolateCombinedSafe(0, 100, TrackBar4->Position, 0.1, 1, 1, itLinear);
+  MyShader->Speed = InterpolateCombinedSafe(0, 100, TrackBarSpeed->Position, 0.1, 1, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar5Change(TObject *Sender)
+void __fastcall TForm1::TrackBarTurbDensityChange(TObject *Sender)
 {
-  MyShader->TurbDensity = InterpolateCombinedSafe(0, 100, TrackBar5->Position, 0.1, 8, 1, itLinear);
+  MyShader->TurbDensity = InterpolateCombinedSafe(0, 100, TrackBarTurbDensity->Position, 0.1, 8, 1, itLinear);
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::TrackBar6Change(TObject *Sender)
+void __fastcall TForm1::TrackBarColorRangeChange(TObject *Sender)
 {
-  MyShader->ColorRange = InterpolateCombinedSafe(0, 100, TrackBar6->Position, -0.5, 0.5, 1, itLinear);
+  MyShader->ColorRange = InterpolateCombinedSafe(0, 100, TrackBarColorRange->Position, -0.5, 0.5, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar7Change(TObject *Sender)
+void __fastcall TForm1::TrackBarAlphaChange(TObject *Sender)
 {
- MyShader->Alpha = InterpolateCombinedSafe(0, 100, TrackBar7->Position, 0, 1, 1, itLinear);
+ MyShader->Alpha = InterpolateCombinedSafe(0, 100, TrackBarAlpha->Position, 0, 1, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar8Change(TObject *Sender)
+void __fastcall TForm1::TrackBarMainTextureShareChange(TObject *Sender)
 {
- MyShader->MainTextureShare = InterpolateCombinedSafe(0, 100, TrackBar8->Position, 0, 2, 1, itLinear);
+ MyShader->MainTextureShare = InterpolateCombinedSafe(0, 100, TrackBarMainTextureShare->Position, 0, 2, 1, itLinear);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar9Change(TObject *Sender)
+void __fastcall TForm1::TrackBarGradientTextureShareChange(TObject *Sender)
 {
-  MyShader->GradientTextureShare = InterpolateCombinedSafe(0, 100, TrackBar9->Position, 0, 2, 1, itLinear);
+  MyShader->GradientTextureShare = InterpolateCombinedSafe(0, 100, TrackBarGradientTextureShare->Position, 0, 2, 1, itLinear);
 }
 //---------------------------------------------------------------------------
 

+ 139 - 192
Examples/Demos/cgshaders/BombShader/fCgBombShaderC.dfm → Examples/Demos/cgshaders/BombShader/fcCgBombShader.dfm

@@ -1,58 +1,42 @@
 object Form1: TForm1
   Left = 0
   Top = 0
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Cg Bomb Shader'
-  ClientHeight = 887
-  ClientWidth = 1475
+  ClientHeight = 538
+  ClientWidth = 872
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 23
+  TextHeight = 13
   object Splitter1: TSplitter
-    Left = 366
+    Left = 209
     Top = 0
     Width = 0
-    Height = 887
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Height = 538
     Color = clBtnShadow
-    MinSize = 53
     ParentColor = False
+    ExplicitHeight = 507
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 366
-    Height = 887
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 209
+    Height = 538
     Align = alLeft
     BevelInner = bvRaised
     BevelOuter = bvLowered
     TabOrder = 0
+    ExplicitHeight = 482
     object ComboBox1: TComboBox
-      Left = 28
-      Top = 602
-      Width = 282
-      Height = 31
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 16
+      Top = 344
+      Width = 161
+      Height = 21
       Style = csDropDownList
       ItemIndex = 0
       TabOrder = 0
@@ -66,25 +50,17 @@ object Form1: TForm1
         'FighterTexture')
     end
     object GroupBox1: TGroupBox
-      Left = 14
-      Top = 392
-      Width = 310
-      Height = 191
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 224
+      Width = 177
+      Height = 109
       Caption = 'Objects'
       TabOrder = 1
       object CheckBox1: TCheckBox
-        Left = 14
-        Top = 28
-        Width = 170
-        Height = 30
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Left = 8
+        Top = 16
+        Width = 97
+        Height = 17
         Caption = 'Space Fighter'
         Checked = True
         State = cbChecked
@@ -92,14 +68,10 @@ object Form1: TForm1
         OnClick = CheckBox1Click
       end
       object CheckBox2: TCheckBox
-        Left = 14
-        Top = 70
-        Width = 170
-        Height = 30
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Left = 8
+        Top = 40
+        Width = 97
+        Height = 17
         Caption = 'TeePot'
         Checked = True
         State = cbChecked
@@ -107,14 +79,10 @@ object Form1: TForm1
         OnClick = CheckBox1Click
       end
       object CheckBox3: TCheckBox
-        Left = 14
-        Top = 112
-        Width = 170
-        Height = 30
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Left = 8
+        Top = 64
+        Width = 97
+        Height = 17
         Caption = 'Sphere'
         Checked = True
         State = cbChecked
@@ -122,14 +90,10 @@ object Form1: TForm1
         OnClick = CheckBox1Click
       end
       object CheckBox4: TCheckBox
-        Left = 14
-        Top = 151
-        Width = 170
-        Height = 29
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Left = 8
+        Top = 86
+        Width = 97
+        Height = 17
         Caption = 'Big Shpere'
         Checked = True
         State = cbChecked
@@ -138,207 +102,190 @@ object Form1: TForm1
       end
     end
     object ShaderEnabledCheckBox: TCheckBox
-      Left = 56
-      Top = 644
-      Width = 170
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 32
+      Top = 368
+      Width = 97
+      Height = 17
       Caption = 'Shader Enabled'
       Checked = True
       State = cbChecked
       TabOrder = 2
       OnClick = ShaderEnabledCheckBoxClick
     end
-    object TrackBar1: TTrackBar
-      Left = 42
-      Top = 14
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarDisplacement: TTrackBar
+      Left = 24
+      Top = 8
+      Width = 150
+      Height = 25
+      Hint = 'Displacement'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 3
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar1Change
+      OnChange = TrackBarDisplacementChange
     end
-    object TrackBar2: TTrackBar
-      Left = 42
-      Top = 56
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarSharpness: TTrackBar
+      Left = 24
+      Top = 32
+      Width = 150
+      Height = 25
+      Hint = 'Sharpness'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 4
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar2Change
+      OnChange = TrackBarSharpnessChange
     end
-    object TrackBar3: TTrackBar
-      Left = 42
-      Top = 98
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarColorSharpness: TTrackBar
+      Left = 24
+      Top = 56
+      Width = 150
+      Height = 25
+      Hint = 'ColorSharpness'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 5
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar3Change
+      OnChange = TrackBarColorSharpnessChange
     end
-    object TrackBar4: TTrackBar
-      Left = 42
-      Top = 140
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarSpeed: TTrackBar
+      Left = 24
+      Top = 80
+      Width = 150
+      Height = 25
+      Hint = 'Speed'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 6
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar4Change
+      OnChange = TrackBarSpeedChange
     end
-    object TrackBar5: TTrackBar
-      Left = 42
-      Top = 182
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarTurbDensity: TTrackBar
+      Left = 24
+      Top = 104
+      Width = 150
+      Height = 25
+      Hint = 'TurbDensity'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 7
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar5Change
+      OnChange = TrackBarTurbDensityChange
     end
-    object TrackBar6: TTrackBar
-      Left = 42
-      Top = 224
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarColorRange: TTrackBar
+      Left = 24
+      Top = 128
+      Width = 150
+      Height = 25
+      Hint = 'ColorRange'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 8
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar6Change
+      OnChange = TrackBarColorRangeChange
     end
-    object TrackBar7: TTrackBar
-      Left = 42
-      Top = 266
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarAlpha: TTrackBar
+      Left = 24
+      Top = 152
+      Width = 150
+      Height = 25
+      Hint = 'Alpha'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 9
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar7Change
+      OnChange = TrackBarAlphaChange
     end
-    object TrackBar8: TTrackBar
-      Left = 42
-      Top = 308
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarMainTextureShare: TTrackBar
+      Left = 24
+      Top = 176
+      Width = 150
+      Height = 25
+      Hint = 'MainTextureShare'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 10
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar8Change
+      OnChange = TrackBarMainTextureShareChange
     end
-    object TrackBar9: TTrackBar
-      Left = 42
-      Top = 350
-      Width = 263
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object TrackBarGradientTextureShare: TTrackBar
+      Left = 24
+      Top = 200
+      Width = 150
+      Height = 25
+      Hint = 'GradientTextureShare'
       Max = 100
+      ParentShowHint = False
       PageSize = 1
       Frequency = 5
+      ShowHint = True
       TabOrder = 11
-      ThumbLength = 18
+      ThumbLength = 10
       TickMarks = tmTopLeft
-      OnChange = TrackBar9Change
+      OnChange = TrackBarGradientTextureShareChange
     end
   end
   object Panel9: TPanel
-    Left = 366
+    Left = 209
     Top = 0
-    Width = 1109
-    Height = 887
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 663
+    Height = 538
     Align = alClient
     Font.Charset = ANSI_CHARSET
     Font.Color = clWindowText
-    Font.Height = -33
+    Font.Height = -19
     Font.Name = 'Tahoma'
     Font.Style = [fsBold]
     ParentFont = False
     TabOrder = 1
+    ExplicitWidth = 626
+    ExplicitHeight = 482
     object GLSceneViewer1: TGLSceneViewer
       Left = 1
       Top = 1
-      Width = 1107
-      Height = 885
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 661
+      Height = 536
       Camera = GLCamera1
       Buffer.BackgroundColor = clTeal
       Buffer.AntiAliasing = aa4x
-      FieldOfView = 167.106491088867200000
+      FieldOfView = 158.863967895507800000
       PenAsTouch = False
       Align = alClient
       TabOrder = 0
+      ExplicitWidth = 632
+      ExplicitHeight = 505
     end
   end
   object GLScene1: TGLScene

+ 20 - 20
Examples/Demos/cgshaders/BombShader/fCgBombShaderC.h → Examples/Demos/cgshaders/BombShader/fcCgBombShader.h

@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 
-#ifndef fCgBombShaderCH
-#define fCgBombShaderCH
+#ifndef fcCgBombShaderH
+#define fcCgBombShaderH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
 #include <System.Math.hpp>
@@ -43,15 +43,15 @@ __published:	// IDE-managed Components
 	TCheckBox *CheckBox3;
 	TCheckBox *CheckBox4;
 	TCheckBox *ShaderEnabledCheckBox;
-	TTrackBar *TrackBar1;
-	TTrackBar *TrackBar2;
-	TTrackBar *TrackBar3;
-	TTrackBar *TrackBar4;
-	TTrackBar *TrackBar5;
-	TTrackBar *TrackBar6;
-	TTrackBar *TrackBar7;
-	TTrackBar *TrackBar8;
-	TTrackBar *TrackBar9;
+	TTrackBar *TrackBarDisplacement;
+	TTrackBar *TrackBarSharpness;
+	TTrackBar *TrackBarColorSharpness;
+	TTrackBar *TrackBarSpeed;
+	TTrackBar *TrackBarTurbDensity;
+	TTrackBar *TrackBarColorRange;
+	TTrackBar *TrackBarAlpha;
+	TTrackBar *TrackBarMainTextureShare;
+	TTrackBar *TrackBarGradientTextureShare;
 	TPanel *Panel9;
 	TGLSceneViewer *GLSceneViewer1;
 	TGLScene *GLScene1;
@@ -71,15 +71,15 @@ __published:	// IDE-managed Components
 	void __fastcall FormCreate(TObject *Sender);
 	void __fastcall ComboBox1Change(TObject *Sender);
 	void __fastcall CheckBox1Click(TObject *Sender);
-	void __fastcall TrackBar1Change(TObject *Sender);
-	void __fastcall TrackBar2Change(TObject *Sender);
-	void __fastcall TrackBar3Change(TObject *Sender);
-	void __fastcall TrackBar4Change(TObject *Sender);
-	void __fastcall TrackBar5Change(TObject *Sender);
-	void __fastcall TrackBar6Change(TObject *Sender);
-	void __fastcall TrackBar7Change(TObject *Sender);
-	void __fastcall TrackBar8Change(TObject *Sender);
-	void __fastcall TrackBar9Change(TObject *Sender);
+	void __fastcall TrackBarDisplacementChange(TObject *Sender);
+	void __fastcall TrackBarSharpnessChange(TObject *Sender);
+	void __fastcall TrackBarColorSharpnessChange(TObject *Sender);
+	void __fastcall TrackBarSpeedChange(TObject *Sender);
+	void __fastcall TrackBarTurbDensityChange(TObject *Sender);
+	void __fastcall TrackBarColorRangeChange(TObject *Sender);
+	void __fastcall TrackBarAlphaChange(TObject *Sender);
+	void __fastcall TrackBarMainTextureShareChange(TObject *Sender);
+	void __fastcall TrackBarGradientTextureShareChange(TObject *Sender);
 	void __fastcall GLCadencer1Progress(TObject *Sender, const double deltaTime, const double newTime);
 	void __fastcall ShaderEnabledCheckBoxClick(TObject *Sender);
 

+ 12 - 9
Examples/Demos/cgshaders/BombShader/fCgBombShaderD.dfm → Examples/Demos/cgshaders/BombShader/fdCgBombShader.dfm

@@ -2,8 +2,8 @@ object FormCgBombShader: TFormCgBombShader
   Left = 387
   Top = 217
   Caption = 'Cg Bomb Shader'
-  ClientHeight = 461
-  ClientWidth = 786
+  ClientHeight = 487
+  ClientWidth = 787
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -18,15 +18,16 @@ object FormCgBombShader: TFormCgBombShader
     Left = 209
     Top = 0
     Width = 0
-    Height = 461
+    Height = 487
     Color = clBtnShadow
     ParentColor = False
+    ExplicitHeight = 461
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
     Width = 209
-    Height = 461
+    Height = 487
     Align = alLeft
     BevelInner = bvRaised
     BevelOuter = bvLowered
@@ -233,8 +234,8 @@ object FormCgBombShader: TFormCgBombShader
   object Panel9: TPanel
     Left = 209
     Top = 0
-    Width = 577
-    Height = 461
+    Width = 578
+    Height = 487
     Align = alClient
     Font.Charset = ANSI_CHARSET
     Font.Color = clWindowText
@@ -248,15 +249,17 @@ object FormCgBombShader: TFormCgBombShader
     object GLSceneViewer1: TGLSceneViewer
       Left = 1
       Top = 1
-      Width = 575
-      Height = 459
+      Width = 576
+      Height = 485
       Camera = GLCamera1
       Buffer.BackgroundColor = clBackground
       Buffer.AntiAliasing = aa4x
-      FieldOfView = 155.418640136718800000
+      FieldOfView = 156.699401855468800000
       PenAsTouch = False
       Align = alClient
       TabOrder = 0
+      ExplicitWidth = 574
+      ExplicitHeight = 459
     end
   end
   object GLScene1: TGLScene

+ 1 - 1
Examples/Demos/cgshaders/BombShader/fCgBombShaderD.pas → Examples/Demos/cgshaders/BombShader/fdCgBombShader.pas

@@ -1,4 +1,4 @@
-unit fCgBombShaderD;
+unit fdCgBombShader;
 
 interface
 

+ 1 - 1
Examples/Demos/cgshaders/BumpMap/CgBumpMapD.dpr

@@ -7,7 +7,7 @@ program CgBumpMapD;
 
 uses
   Forms,
-  fBumpMapD in 'fBumpMapD.pas' {FormBumpMap};
+  fdBumpMap in 'fdBumpMap.pas' {FormBumpMap};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/BumpMap/CgBumpMapD.dproj

@@ -90,7 +90,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fBumpMapD.pas">
+        <DCCReference Include="fdBumpMap.pas">
             <Form>FormBumpMap</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 29 - 73
Examples/Demos/cgshaders/BumpMap/fBumpMapD.dfm → Examples/Demos/cgshaders/BumpMap/fdBumpMap.dfm

@@ -1,37 +1,28 @@
 object FormBumpMap: TFormBumpMap
   Left = 167
   Top = 182
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Cg BumpMap'
-  ClientHeight = 1117
-  ClientWidth = 1797
+  ClientHeight = 638
+  ClientWidth = 1027
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object SceneViewer: TGLSceneViewer
-    Left = 506
+    Left = 289
     Top = 0
-    Width = 1291
-    Height = 1117
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 738
+    Height = 638
     Camera = Camera
     Buffer.BackgroundColor = clSkyBlue
     Buffer.AmbientColor.Color = {00000000000000000000000000000000}
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 159.697402954101600000
+    FieldOfView = 145.189712524414100000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
@@ -39,30 +30,19 @@ object FormBumpMap: TFormBumpMap
   object Shaders_ctrl: TPageControl
     Left = 0
     Top = 0
-    Width = 506
-    Height = 1117
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 289
+    Height = 638
     ActivePage = ts_Vertex_Program
     Align = alLeft
     TabOrder = 1
+    ExplicitHeight = 613
     object ts_Fragment_Program: TTabSheet
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
       Caption = 'Pixel Shader'
       object FP_Memo: TMemo
         Left = 0
-        Top = 42
-        Width = 478
-        Height = 758
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Top = 24
+        Width = 273
+        Height = 433
         Lines.Strings = (
           '')
         ScrollBars = ssBoth
@@ -70,14 +50,10 @@ object FormBumpMap: TFormBumpMap
         OnChange = FP_MemoChange
       end
       object FP_btn: TButton
-        Left = 350
-        Top = 812
-        Width = 131
-        Height = 44
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Left = 200
+        Top = 464
+        Width = 75
+        Height = 25
         Caption = 'Apply'
         TabOrder = 1
         OnClick = FP_btnClick
@@ -85,46 +61,30 @@ object FormBumpMap: TFormBumpMap
       object FP_cb: TCheckBox
         Left = 0
         Top = 0
-        Width = 170
-        Height = 30
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Width = 97
+        Height = 17
         Caption = 'Enabled'
         TabOrder = 2
         OnClick = FP_cbClick
       end
     end
     object ts_Vertex_Program: TTabSheet
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
       Caption = 'Vertex Shader'
       ImageIndex = 1
       object VP_Memo: TMemo
         Left = 0
-        Top = 42
-        Width = 478
-        Height = 758
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Top = 24
+        Width = 273
+        Height = 433
         ScrollBars = ssBoth
         TabOrder = 0
         OnChange = VP_MemoChange
       end
       object VP_btn: TButton
-        Left = 350
-        Top = 812
-        Width = 131
-        Height = 44
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Left = 200
+        Top = 464
+        Width = 75
+        Height = 25
         Caption = 'Apply'
         TabOrder = 1
         OnClick = VP_btnClick
@@ -132,12 +92,8 @@ object FormBumpMap: TFormBumpMap
       object VP_cb: TCheckBox
         Left = 0
         Top = 0
-        Width = 170
-        Height = 30
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
+        Width = 97
+        Height = 17
         Caption = 'Enabled'
         TabOrder = 2
         OnClick = VP_cbClick

+ 1 - 1
Examples/Demos/cgshaders/BumpMap/fBumpMapD.pas → Examples/Demos/cgshaders/BumpMap/fdBumpMap.pas

@@ -1,4 +1,4 @@
-unit fBumpMapD;
+unit fdBumpMap;
 
 interface
 

+ 15 - 3
Examples/Demos/cgshaders/CGshaderC.groupproj

@@ -15,6 +15,9 @@
         <Projects Include="texturing\CgTextureC.cbproj">
             <Dependencies/>
         </Projects>
+        <Projects Include="SimpleCG\CgSimpleC.cbproj">
+            <Dependencies/>
+        </Projects>
     </ItemGroup>
     <ProjectExtensions>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -59,14 +62,23 @@
     <Target Name="CgTextureC:Make">
         <MSBuild Projects="texturing\CgTextureC.cbproj" Targets="Make"/>
     </Target>
+    <Target Name="CgSimpleC">
+        <MSBuild Projects="SimpleCG\CgSimpleC.cbproj"/>
+    </Target>
+    <Target Name="CgSimpleC:Clean">
+        <MSBuild Projects="SimpleCG\CgSimpleC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="CgSimpleC:Make">
+        <MSBuild Projects="SimpleCG\CgSimpleC.cbproj" Targets="Make"/>
+    </Target>
     <Target Name="Build">
-        <CallTarget Targets="CGBombShaderC;CgCellShaderC;CgReflectC;CgTextureC"/>
+        <CallTarget Targets="CGBombShaderC;CgCellShaderC;CgReflectC;CgTextureC;CgSimpleC"/>
     </Target>
     <Target Name="Clean">
-        <CallTarget Targets="CGBombShaderC:Clean;CgCellShaderC:Clean;CgReflectC:Clean;CgTextureC:Clean"/>
+        <CallTarget Targets="CGBombShaderC:Clean;CgCellShaderC:Clean;CgReflectC:Clean;CgTextureC:Clean;CgSimpleC:Clean"/>
     </Target>
     <Target Name="Make">
-        <CallTarget Targets="CGBombShaderC:Make;CgCellShaderC:Make;CgReflectC:Make;CgTextureC:Make"/>
+        <CallTarget Targets="CGBombShaderC:Make;CgCellShaderC:Make;CgReflectC:Make;CgTextureC:Make;CgSimpleC:Make"/>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>

+ 33 - 3
Examples/Demos/cgshaders/CellShader/CgCellShaderC.cbproj

@@ -160,13 +160,13 @@
         <CppCompile Include="CgCellShaderC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="fCelShadingC.cpp">
+        <CppCompile Include="fcCelShading.cpp">
             <Form>Form1</Form>
             <FormType>dfm</FormType>
-            <DependentOn>fCelShadingC.h</DependentOn>
+            <DependentOn>fcCelShading.h</DependentOn>
             <BuildOrder>3</BuildOrder>
         </CppCompile>
-        <FormResources Include="fCelShadingC.dfm"/>
+        <FormResources Include="fcCelShading.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -230,6 +230,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -247,6 +257,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c280.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c280mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c290.dll" Class="DependencyModule">
@@ -259,6 +279,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\CgCellShaderC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\CgCellShaderC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">

+ 1 - 1
Examples/Demos/cgshaders/CellShader/CgCellShaderC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fCelShadingC.cpp", Form1);
+USEFORM("fcCelShading.cpp", Form1);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 1 - 1
Examples/Demos/cgshaders/CellShader/CgCellShaderD.dpr

@@ -23,7 +23,7 @@ program CgCellShaderD;
 
 uses
   Forms,
-  fCgCellShaderD in 'fCgCellShaderD.pas' {FormCellShading};
+  fdCgCellShader in 'fdCgCellShader.pas' {FormCellShading};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/CellShader/CgCellShaderD.dproj

@@ -123,7 +123,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fCgCellShaderD.pas">
+        <DCCReference Include="fdCgCellShader.pas">
             <Form>FormCellShading</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 1 - 1
Examples/Demos/cgshaders/CellShader/fCelShadingC.cpp → Examples/Demos/cgshaders/CellShader/fcCelShading.cpp

@@ -4,7 +4,7 @@
 #include <tchar.h>
 #pragma hdrstop
 
-#include "fCelShadingC.h"
+#include "fcCelShading.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma link "GLS.AsyncTimer"

+ 11 - 24
Examples/Demos/cgshaders/CellShader/fCelShadingC.dfm → Examples/Demos/cgshaders/CellShader/fcCelShading.dfm

@@ -1,34 +1,25 @@
 object Form1: TForm1
   Left = 0
   Top = 0
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Cg Cel Shader'
-  ClientHeight = 590
-  ClientWidth = 915
+  ClientHeight = 337
+  ClientWidth = 523
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 23
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 915
-    Height = 557
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 523
+    Height = 318
     Camera = GLCamera1
-    FieldOfView = 159.643875122070300000
+    FieldOfView = 145.086883544921900000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
@@ -37,16 +28,12 @@ object Form1: TForm1
   end
   object StatusBar1: TStatusBar
     Left = 0
-    Top = 557
-    Width = 915
-    Height = 33
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 318
+    Width = 523
+    Height = 19
     Panels = <
       item
-        Width = 88
+        Width = 50
       end>
   end
   object GLScene1: TGLScene

+ 2 - 2
Examples/Demos/cgshaders/CellShader/fCelShadingC.h → Examples/Demos/cgshaders/CellShader/fcCelShading.h

@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 
-#ifndef fCelShadingCH
-#define fCelShadingCH
+#ifndef fcCelShadingH
+#define fcCelShadingH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
 #include <Vcl.Controls.hpp>

+ 9 - 16
Examples/Demos/cgshaders/CellShader/fCgCellShaderD.dfm → Examples/Demos/cgshaders/CellShader/fdCgCellShader.dfm

@@ -1,39 +1,32 @@
 object FormCellShading: TFormCellShading
   Left = 192
   Top = 114
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Cg Cell Shader'
-  ClientHeight = 618
-  ClientWidth = 977
+  ClientHeight = 407
+  ClientWidth = 582
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 977
-    Height = 618
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 582
+    Height = 407
     Camera = GLCamera1
-    FieldOfView = 161.617019653320300000
+    FieldOfView = 152.391708374023400000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 558
+    ExplicitHeight = 354
   end
   object GLScene1: TGLScene
     Left = 40

+ 1 - 1
Examples/Demos/cgshaders/CellShader/fCgCellShaderD.pas → Examples/Demos/cgshaders/CellShader/fdCgCellShader.pas

@@ -1,4 +1,4 @@
-unit fCgCellShaderD;
+unit fdCgCellShader;
 
 interface
 

+ 1 - 1
Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dpr

@@ -9,7 +9,7 @@ program CgCloudSkyD;
 
 uses
   Forms,
-  fCloudSkyD in 'fCloudSkyD.pas' {MainForm};
+  fdCloudSky in 'fdCloudSky.pas' {MainForm};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dproj

@@ -115,7 +115,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fCloudSkyD.pas">
+        <DCCReference Include="fdCloudSky.pas">
             <Form>MainForm</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 3 - 2
Examples/Demos/cgshaders/CloudSky/fCloudSkyD.dfm → Examples/Demos/cgshaders/CloudSky/fdCloudSky.dfm

@@ -33,6 +33,7 @@ object MainForm: TMainForm
     Align = alLeft
     Alignment = taRightJustify
     TabOrder = 1
+    ExplicitHeight = 425
     object Label1: TLabel
       Left = 3
       Top = 105
@@ -195,7 +196,7 @@ object MainForm: TMainForm
         ShiftState = [ssRight]
         Action = snaMoveAroundTarget
       end>
-    Left = 136
-    Top = 224
+    Left = 152
+    Top = 320
   end
 end

+ 1 - 1
Examples/Demos/cgshaders/CloudSky/fCloudSkyD.pas → Examples/Demos/cgshaders/CloudSky/fdCloudSky.pas

@@ -1,4 +1,4 @@
-unit fCloudSkyD;
+unit fdCloudSky;
 
 interface
 

+ 1 - 1
Examples/Demos/cgshaders/DistTex/CgDisttexD.dpr

@@ -17,7 +17,7 @@ program CgDisttexD;
 
 uses
   Forms,
-  fDisttexD in 'fDisttexD.pas' {Form1};
+  fdDisttex in 'fdDisttex.pas' {Form1};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/DistTex/CgDisttexD.dproj

@@ -90,7 +90,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fDisttexD.pas">
+        <DCCReference Include="fdDisttex.pas">
             <Form>Form1</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 7 - 16
Examples/Demos/cgshaders/DistTex/fDisttexD.dfm → Examples/Demos/cgshaders/DistTex/fdDisttex.dfm

@@ -1,35 +1,26 @@
 object Form1: TForm1
   Left = 375
   Top = 237
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Cg Texture Distortion'
-  ClientHeight = 1073
-  ClientWidth = 1678
+  ClientHeight = 613
+  ClientWidth = 959
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 1678
-    Height = 1073
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 959
+    Height = 613
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 169.351211547851600000
+    FieldOfView = 161.469665527343800000
     PenAsTouch = False
     Align = alClient
     OnMouseMove = viewerMouseMove

+ 1 - 1
Examples/Demos/cgshaders/DistTex/fDisttexD.pas → Examples/Demos/cgshaders/DistTex/fdDisttex.pas

@@ -1,4 +1,4 @@
-unit fDisttexD;
+unit fdDisttex;
 
 interface
 

+ 33 - 3
Examples/Demos/cgshaders/Reflect/CgReflectC.cbproj

@@ -158,13 +158,13 @@
         <CppCompile Include="CgReflectC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="fReflectC.cpp">
+        <CppCompile Include="fcReflect.cpp">
             <Form>FormRef</Form>
             <FormType>dfm</FormType>
-            <DependentOn>fReflectC.h</DependentOn>
+            <DependentOn>fcReflect.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fReflectC.dfm"/>
+        <FormResources Include="fcReflect.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -220,6 +220,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -237,6 +247,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c280.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c280mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c290.dll" Class="DependencyModule">
@@ -249,6 +269,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\CgReflectC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\CgReflectC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">

+ 1 - 1
Examples/Demos/cgshaders/Reflect/CgReflectC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fReflectC.cpp", FormRef);
+USEFORM("fcReflect.cpp", FormRef);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 1 - 1
Examples/Demos/cgshaders/Reflect/CgReflectD.dpr

@@ -4,7 +4,7 @@ program CgReflectD;
 
 uses
   Forms,
-  fReflectD in 'fReflectD.pas' {Form1};
+  fdReflect in 'fdReflect.pas' {Form1};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/Reflect/CgReflectD.dproj

@@ -90,7 +90,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fReflectD.pas">
+        <DCCReference Include="fdReflect.pas">
             <Form>Form1</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 1 - 1
Examples/Demos/cgshaders/Reflect/fReflectC.cpp → Examples/Demos/cgshaders/Reflect/fcReflect.cpp

@@ -3,7 +3,7 @@
 #include <vcl.h>
 #pragma hdrstop
 
-#include "fReflectC.h"
+#include "fcReflect.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma link "GLS.CgShader"

+ 149 - 330
Examples/Demos/cgshaders/Reflect/fReflectC.dfm → Examples/Demos/cgshaders/Reflect/fcReflect.dfm

@@ -1,43 +1,28 @@
 object FormRef: TFormRef
   Left = 0
   Top = 0
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Reflect'
-  ClientHeight = 901
-  ClientWidth = 1621
+  ClientHeight = 515
+  ClientWidth = 926
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -21
+  Font.Height = -12
   Font.Name = 'Segoe UI'
   Font.Style = []
-  PixelsPerInch = 168
-  TextHeight = 30
+  TextHeight = 15
   object Splitter1: TSplitter
-    Left = 646
+    Left = 369
     Top = 0
-    Width = 5
-    Height = 901
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Height = 515
     Color = clBtnShadow
-    MinSize = 53
     ParentColor = False
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 646
-    Height = 901
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 369
+    Height = 515
     Align = alLeft
     BevelInner = bvRaised
     BevelOuter = bvLowered
@@ -45,82 +30,53 @@ object FormRef: TFormRef
     object PageControl1: TPageControl
       Left = 2
       Top = 2
-      Width = 642
-      Height = 897
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 365
+      Height = 511
       ActivePage = TabSheet3
       Align = alClient
       Font.Charset = ANSI_CHARSET
       Font.Color = clWindowText
-      Font.Height = -19
+      Font.Height = -11
       Font.Name = 'Tahoma'
       Font.Style = []
       ParentFont = False
       TabOrder = 0
-      ExplicitLeft = 4
-      ExplicitTop = 4
-      ExplicitWidth = 638
-      ExplicitHeight = 894
       object TabSheet1: TTabSheet
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
         Caption = 'Vertex Program'
         object Splitter3: TSplitter
           Left = 0
-          Top = 658
-          Width = 625
-          Height = 5
+          Top = 376
+          Width = 357
+          Height = 3
           Cursor = crVSplit
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
           Align = alBottom
           Color = clBtnShadow
-          MinSize = 53
           ParentColor = False
         end
         object Panel2: TPanel
           Left = 0
           Top = 0
-          Width = 625
-          Height = 44
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Width = 357
+          Height = 25
           Align = alTop
           BevelOuter = bvNone
           TabOrder = 0
           object LabelVertProfile: TLabel
-            Left = 154
-            Top = 9
-            Width = 111
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 88
+            Top = 5
+            Width = 63
+            Height = 13
             Caption = 'Using profile:'
           end
           object CBVertexProgram: TCheckBox
-            Left = 11
-            Top = 7
-            Width = 103
-            Height = 30
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 6
+            Top = 4
+            Width = 59
+            Height = 17
             Caption = 'Enabled'
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Tahoma'
             Font.Style = []
             ParentFont = False
@@ -129,25 +85,17 @@ object FormRef: TFormRef
         end
         object Panel11: TPanel
           Left = 0
-          Top = 44
-          Width = 625
-          Height = 614
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 25
+          Width = 357
+          Height = 351
           Align = alClient
           Caption = 'Panel6'
           TabOrder = 1
           object Panel12: TPanel
-            Left = 2
-            Top = 2
-            Width = 621
-            Height = 28
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 1
+            Width = 355
+            Height = 16
             Align = alTop
             BevelOuter = bvNone
             Caption = 'Shader Code'
@@ -155,18 +103,14 @@ object FormRef: TFormRef
             TabOrder = 0
           end
           object MemoVertCode: TMemo
-            Left = 2
-            Top = 30
-            Width = 621
-            Height = 539
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 17
+            Width = 355
+            Height = 308
             Align = alClient
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -175,81 +119,60 @@ object FormRef: TFormRef
             WordWrap = False
           end
           object Panel13: TPanel
-            Left = 2
-            Top = 569
-            Width = 621
-            Height = 44
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 325
+            Width = 355
+            Height = 25
             Align = alBottom
             BevelOuter = bvNone
             TabOrder = 2
             DesignSize = (
-              632
-              44)
+              355
+              25)
             object ButtonApplyVP: TButton
-              Left = 501
-              Top = 4
-              Width = 117
-              Height = 35
-              Margins.Left = 5
-              Margins.Top = 5
-              Margins.Right = 5
-              Margins.Bottom = 5
+              Left = 286
+              Top = 2
+              Width = 67
+              Height = 20
               Anchors = [akTop, akRight]
               Caption = 'Apply'
               Enabled = False
               TabOrder = 0
-              ExplicitLeft = 490
             end
           end
         end
         object Panel5: TPanel
           Left = 0
-          Top = 677
-          Width = 634
-          Height = 182
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 379
+          Width = 357
+          Height = 104
           Align = alBottom
           TabOrder = 2
-          ExplicitTop = 663
-          ExplicitWidth = 625
+          ExplicitTop = 387
+          ExplicitWidth = 362
           DesignSize = (
-            634
-            182)
+            357
+            104)
           object Label2: TLabel
-            Left = 506
-            Top = 9
-            Width = 53
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 284
+            Top = 5
+            Width = 30
+            Height = 13
             Anchors = [akTop, akRight]
             Caption = 'Show:'
-            ExplicitLeft = 497
+            ExplicitLeft = 289
           end
           object Memo1: TMemo
             Left = 1
             Top = 1
-            Width = 485
-            Height = 180
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Width = 272
+            Height = 102
             Align = alLeft
             Anchors = [akLeft, akTop, akRight, akBottom]
             Color = clBtnFace
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -257,120 +180,80 @@ object FormRef: TFormRef
             ScrollBars = ssBoth
             TabOrder = 0
             WordWrap = False
-            ExplicitLeft = 2
-            ExplicitTop = 2
-            ExplicitWidth = 476
-            ExplicitHeight = 178
+            ExplicitWidth = 277
           end
           object Button1: TButton
-            Left = 503
-            Top = 37
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 21
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Params'
             TabOrder = 1
-            ExplicitLeft = 494
+            ExplicitLeft = 287
           end
           object Button4: TButton
-            Left = 503
-            Top = 74
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 42
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Asm'
             TabOrder = 2
-            ExplicitLeft = 494
+            ExplicitLeft = 287
           end
         end
       end
       object TabSheet2: TTabSheet
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
         Caption = 'Fragment Program'
         ImageIndex = 1
         object Splitter2: TSplitter
           Left = 0
-          Top = 658
-          Width = 625
-          Height = 5
+          Top = 376
+          Width = 357
+          Height = 3
           Cursor = crVSplit
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
           Align = alBottom
           Color = clBtnShadow
-          MinSize = 53
           ParentColor = False
         end
         object Panel4: TPanel
           Left = 0
           Top = 0
-          Width = 625
-          Height = 44
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Width = 357
+          Height = 25
           Align = alTop
           BevelOuter = bvNone
           TabOrder = 0
           object LabelFragProfile: TLabel
-            Left = 154
-            Top = 9
-            Width = 111
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 88
+            Top = 5
+            Width = 63
+            Height = 13
             Caption = 'Using profile:'
           end
           object CheckBox1: TCheckBox
-            Left = 11
-            Top = 7
-            Width = 117
-            Height = 30
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 6
+            Top = 4
+            Width = 67
+            Height = 17
             Caption = 'Enabled'
             TabOrder = 0
           end
         end
         object Panel6: TPanel
           Left = 0
-          Top = 44
-          Width = 625
-          Height = 614
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 25
+          Width = 357
+          Height = 351
           Align = alClient
           Caption = 'Panel6'
           TabOrder = 1
           object Panel7: TPanel
-            Left = 2
-            Top = 2
-            Width = 621
-            Height = 28
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 1
+            Width = 355
+            Height = 16
             Align = alTop
             BevelOuter = bvNone
             Caption = 'Shader Code'
@@ -378,18 +261,14 @@ object FormRef: TFormRef
             TabOrder = 0
           end
           object MemoFragCode: TMemo
-            Left = 2
-            Top = 30
-            Width = 621
-            Height = 539
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 17
+            Width = 355
+            Height = 308
             Align = alClient
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -398,81 +277,60 @@ object FormRef: TFormRef
             WordWrap = False
           end
           object Panel3: TPanel
-            Left = 2
-            Top = 569
-            Width = 621
-            Height = 44
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 325
+            Width = 355
+            Height = 25
             Align = alBottom
             BevelOuter = bvNone
             TabOrder = 2
             DesignSize = (
-              632
-              44)
+              355
+              25)
             object ButtonApplyFP: TButton
-              Left = 501
-              Top = 4
-              Width = 117
-              Height = 35
-              Margins.Left = 5
-              Margins.Top = 5
-              Margins.Right = 5
-              Margins.Bottom = 5
+              Left = 286
+              Top = 2
+              Width = 67
+              Height = 20
               Anchors = [akTop, akRight]
               Caption = 'Apply'
               Enabled = False
               TabOrder = 0
-              ExplicitLeft = 490
             end
           end
         end
         object Panel8: TPanel
           Left = 0
-          Top = 677
-          Width = 634
-          Height = 182
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 379
+          Width = 357
+          Height = 104
           Align = alBottom
           TabOrder = 2
-          ExplicitTop = 663
-          ExplicitWidth = 625
+          ExplicitTop = 387
+          ExplicitWidth = 362
           DesignSize = (
-            634
-            182)
+            357
+            104)
           object Label1: TLabel
-            Left = 506
-            Top = 9
-            Width = 53
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 284
+            Top = 5
+            Width = 30
+            Height = 13
             Anchors = [akTop, akRight]
             Caption = 'Show:'
-            ExplicitLeft = 497
+            ExplicitLeft = 289
           end
           object Memo3: TMemo
             Left = 1
             Top = 1
-            Width = 485
-            Height = 180
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Width = 272
+            Height = 102
             Align = alLeft
             Anchors = [akLeft, akTop, akRight, akBottom]
             Color = clBtnFace
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -480,76 +338,52 @@ object FormRef: TFormRef
             ScrollBars = ssBoth
             TabOrder = 0
             WordWrap = False
-            ExplicitLeft = 2
-            ExplicitTop = 2
-            ExplicitWidth = 476
-            ExplicitHeight = 178
+            ExplicitWidth = 277
           end
           object Button2: TButton
-            Left = 503
-            Top = 37
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 21
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Params'
             TabOrder = 1
-            ExplicitLeft = 494
+            ExplicitLeft = 287
           end
           object Button3: TButton
-            Left = 503
-            Top = 74
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 42
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Asm'
             TabOrder = 2
-            ExplicitLeft = 494
+            ExplicitLeft = 287
           end
         end
       end
       object TabSheet3: TTabSheet
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
         Caption = 'Control'
         ImageIndex = 2
         object TrackBar1: TTrackBar
-          Left = 238
-          Top = 14
-          Width = 263
-          Height = 58
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Left = 136
+          Top = 8
+          Width = 150
+          Height = 33
           TabOrder = 0
-          ThumbLength = 35
         end
       end
     end
   end
   object Panel9: TPanel
-    Left = 651
+    Left = 372
     Top = 0
-    Width = 970
-    Height = 901
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 554
+    Height = 515
     Align = alClient
     Font.Charset = ANSI_CHARSET
     Font.Color = clWindowText
-    Font.Height = -33
+    Font.Height = -19
     Font.Name = 'Tahoma'
     Font.Style = [fsBold]
     ParentFont = False
@@ -557,45 +391,30 @@ object FormRef: TFormRef
     object Panel10: TPanel
       Left = 1
       Top = 1
-      Width = 968
-      Height = 84
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 552
+      Height = 48
       Align = alTop
       Caption = 'Cg CubeMap'
       Font.Charset = ANSI_CHARSET
       Font.Color = clWindowText
-      Font.Height = -33
+      Font.Height = -19
       Font.Name = 'Trebuchet MS'
       Font.Style = [fsBold]
       ParentFont = False
       TabOrder = 0
-      ExplicitLeft = 2
-      ExplicitTop = 2
-      ExplicitWidth = 966
     end
     object GLSceneViewer1: TGLSceneViewer
       Left = 1
-      Top = 85
-      Width = 968
-      Height = 815
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Top = 49
+      Width = 552
+      Height = 465
       Camera = GLCamera1
       Buffer.FaceCulling = False
       Buffer.AntiAliasing = aa4x
-      FieldOfView = 166.009613037109400000
+      FieldOfView = 155.726348876953100000
       PenAsTouch = False
       Align = alClient
       TabOrder = 1
-      ExplicitLeft = 2
-      ExplicitTop = 86
-      ExplicitWidth = 966
-      ExplicitHeight = 814
     end
   end
   object GLScene1: TGLScene

+ 2 - 2
Examples/Demos/cgshaders/Reflect/fReflectC.h → Examples/Demos/cgshaders/Reflect/fcReflect.h

@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 
-#ifndef fReflectCH
-#define fReflectCH
+#ifndef fcReflectH
+#define fcReflectH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
 #include <Vcl.Controls.hpp>

+ 158 - 342
Examples/Demos/cgshaders/Reflect/fReflectD.dfm → Examples/Demos/cgshaders/Reflect/fdReflect.dfm

@@ -1,17 +1,13 @@
 object Form1: TForm1
   Left = 338
   Top = 360
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Reflect'
-  ClientHeight = 770
-  ClientWidth = 1328
+  ClientHeight = 440
+  ClientWidth = 759
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   KeyPreview = True
@@ -19,113 +15,75 @@ object Form1: TForm1
   OnCreate = FormCreate
   OnKeyPress = FormKeyPress
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object Splitter1: TSplitter
-    Left = 646
+    Left = 369
     Top = 0
-    Width = 5
-    Height = 770
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Height = 440
     Color = clBtnShadow
-    MinSize = 53
     ParentColor = False
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 646
-    Height = 770
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 369
+    Height = 440
     Align = alLeft
     BevelInner = bvRaised
     BevelOuter = bvLowered
     TabOrder = 0
+    ExplicitHeight = 415
     object PageControl1: TPageControl
       Left = 2
       Top = 2
-      Width = 642
-      Height = 766
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 365
+      Height = 436
       ActivePage = TabSheet3
       Align = alClient
       Font.Charset = ANSI_CHARSET
       Font.Color = clWindowText
-      Font.Height = -19
+      Font.Height = -11
       Font.Name = 'Tahoma'
       Font.Style = []
       ParentFont = False
       TabOrder = 0
-      ExplicitLeft = 4
-      ExplicitTop = 4
-      ExplicitWidth = 638
-      ExplicitHeight = 763
+      ExplicitHeight = 411
       object TabSheet1: TTabSheet
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
         Caption = 'Vertex Program'
         object Splitter3: TSplitter
           Left = 0
-          Top = 527
-          Width = 625
-          Height = 5
+          Top = 301
+          Width = 357
+          Height = 3
           Cursor = crVSplit
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
           Align = alBottom
           Color = clBtnShadow
-          MinSize = 53
           ParentColor = False
         end
         object Panel2: TPanel
           Left = 0
           Top = 0
-          Width = 625
-          Height = 44
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Width = 357
+          Height = 25
           Align = alTop
           BevelOuter = bvNone
           TabOrder = 0
           object LabelVertProfile: TLabel
-            Left = 154
-            Top = 9
-            Width = 111
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 88
+            Top = 5
+            Width = 63
+            Height = 13
             Caption = 'Using profile:'
           end
           object CBVertexProgram: TCheckBox
-            Left = 11
-            Top = 7
-            Width = 103
-            Height = 30
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 6
+            Top = 4
+            Width = 59
+            Height = 17
             Caption = 'Enabled'
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Tahoma'
             Font.Style = []
             ParentFont = False
@@ -135,25 +93,17 @@ object Form1: TForm1
         end
         object Panel11: TPanel
           Left = 0
-          Top = 44
-          Width = 625
-          Height = 483
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 25
+          Width = 357
+          Height = 276
           Align = alClient
           Caption = 'Panel6'
           TabOrder = 1
           object Panel12: TPanel
-            Left = 2
-            Top = 2
-            Width = 621
-            Height = 28
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 1
+            Width = 355
+            Height = 16
             Align = alTop
             BevelOuter = bvNone
             Caption = 'Shader Code'
@@ -161,18 +111,14 @@ object Form1: TForm1
             TabOrder = 0
           end
           object MemoVertCode: TMemo
-            Left = 2
-            Top = 30
-            Width = 621
-            Height = 408
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 17
+            Width = 355
+            Height = 233
             Align = alClient
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -182,82 +128,59 @@ object Form1: TForm1
             OnChange = MemoVertCodeChange
           end
           object Panel13: TPanel
-            Left = 2
-            Top = 438
-            Width = 621
-            Height = 43
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 250
+            Width = 355
+            Height = 25
             Align = alBottom
             BevelOuter = bvNone
             TabOrder = 2
             DesignSize = (
-              632
-              43)
+              355
+              25)
             object ButtonApplyVP: TButton
-              Left = 501
-              Top = 4
-              Width = 117
-              Height = 35
-              Margins.Left = 5
-              Margins.Top = 5
-              Margins.Right = 5
-              Margins.Bottom = 5
+              Left = 286
+              Top = 2
+              Width = 67
+              Height = 20
               Anchors = [akTop, akRight]
               Caption = 'Apply'
               Enabled = False
               TabOrder = 0
               OnClick = ButtonApplyVPClick
-              ExplicitLeft = 490
             end
           end
         end
         object Panel5: TPanel
           Left = 0
-          Top = 546
-          Width = 634
-          Height = 182
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 304
+          Width = 357
+          Height = 104
           Align = alBottom
           TabOrder = 2
-          ExplicitTop = 532
-          ExplicitWidth = 625
           DesignSize = (
-            634
-            182)
+            357
+            104)
           object Label2: TLabel
-            Left = 506
-            Top = 9
-            Width = 53
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 284
+            Top = 5
+            Width = 30
+            Height = 13
             Anchors = [akTop, akRight]
             Caption = 'Show:'
-            ExplicitLeft = 497
+            ExplicitLeft = 289
           end
           object Memo1: TMemo
             Left = 1
             Top = 1
-            Width = 485
-            Height = 180
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Width = 272
+            Height = 102
             Align = alLeft
             Anchors = [akLeft, akTop, akRight, akBottom]
             Color = clBtnFace
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -265,97 +188,62 @@ object Form1: TForm1
             ScrollBars = ssBoth
             TabOrder = 0
             WordWrap = False
-            ExplicitLeft = 2
-            ExplicitTop = 2
-            ExplicitWidth = 476
-            ExplicitHeight = 178
           end
           object Button1: TButton
-            Left = 503
-            Top = 37
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 21
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Params'
             TabOrder = 1
             OnClick = Button1Click
-            ExplicitLeft = 494
           end
           object Button4: TButton
-            Left = 503
-            Top = 74
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 42
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Asm'
             TabOrder = 2
             OnClick = Button4Click
-            ExplicitLeft = 494
           end
         end
       end
       object TabSheet2: TTabSheet
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
         Caption = 'Fragment Program'
         ImageIndex = 1
         object Splitter2: TSplitter
           Left = 0
-          Top = 527
-          Width = 625
-          Height = 5
+          Top = 301
+          Width = 357
+          Height = 3
           Cursor = crVSplit
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
           Align = alBottom
           Color = clBtnShadow
-          MinSize = 53
           ParentColor = False
         end
         object Panel4: TPanel
           Left = 0
           Top = 0
-          Width = 625
-          Height = 44
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Width = 357
+          Height = 25
           Align = alTop
           BevelOuter = bvNone
           TabOrder = 0
           object LabelFragProfile: TLabel
-            Left = 154
-            Top = 9
-            Width = 111
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 88
+            Top = 5
+            Width = 63
+            Height = 13
             Caption = 'Using profile:'
           end
           object CheckBox1: TCheckBox
-            Left = 11
-            Top = 7
-            Width = 117
-            Height = 30
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 6
+            Top = 4
+            Width = 67
+            Height = 17
             Caption = 'Enabled'
             TabOrder = 0
             OnClick = CBFragmentProgramClick
@@ -363,25 +251,17 @@ object Form1: TForm1
         end
         object Panel6: TPanel
           Left = 0
-          Top = 44
-          Width = 625
-          Height = 483
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 25
+          Width = 357
+          Height = 276
           Align = alClient
           Caption = 'Panel6'
           TabOrder = 1
           object Panel7: TPanel
-            Left = 2
-            Top = 2
-            Width = 621
-            Height = 28
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 1
+            Width = 355
+            Height = 16
             Align = alTop
             BevelOuter = bvNone
             Caption = 'Shader Code'
@@ -389,18 +269,14 @@ object Form1: TForm1
             TabOrder = 0
           end
           object MemoFragCode: TMemo
-            Left = 2
-            Top = 30
-            Width = 621
-            Height = 408
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 17
+            Width = 355
+            Height = 233
             Align = alClient
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -410,82 +286,59 @@ object Form1: TForm1
             OnChange = MemoFragCodeChange
           end
           object Panel3: TPanel
-            Left = 2
-            Top = 438
-            Width = 621
-            Height = 43
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 1
+            Top = 250
+            Width = 355
+            Height = 25
             Align = alBottom
             BevelOuter = bvNone
             TabOrder = 2
             DesignSize = (
-              632
-              43)
+              355
+              25)
             object ButtonApplyFP: TButton
-              Left = 501
-              Top = 4
-              Width = 117
-              Height = 35
-              Margins.Left = 5
-              Margins.Top = 5
-              Margins.Right = 5
-              Margins.Bottom = 5
+              Left = 286
+              Top = 2
+              Width = 67
+              Height = 20
               Anchors = [akTop, akRight]
               Caption = 'Apply'
               Enabled = False
               TabOrder = 0
               OnClick = ButtonApplyFPClick
-              ExplicitLeft = 490
             end
           end
         end
         object Panel8: TPanel
           Left = 0
-          Top = 546
-          Width = 634
-          Height = 182
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Top = 304
+          Width = 357
+          Height = 104
           Align = alBottom
           TabOrder = 2
-          ExplicitTop = 532
-          ExplicitWidth = 625
           DesignSize = (
-            634
-            182)
+            357
+            104)
           object Label1: TLabel
-            Left = 506
-            Top = 9
-            Width = 53
-            Height = 23
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 284
+            Top = 5
+            Width = 30
+            Height = 13
             Anchors = [akTop, akRight]
             Caption = 'Show:'
-            ExplicitLeft = 497
+            ExplicitLeft = 289
           end
           object Memo3: TMemo
             Left = 1
             Top = 1
-            Width = 485
-            Height = 180
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Width = 272
+            Height = 102
             Align = alLeft
             Anchors = [akLeft, akTop, akRight, akBottom]
             Color = clBtnFace
             Font.Charset = ANSI_CHARSET
             Font.Color = clWindowText
-            Font.Height = -19
+            Font.Height = -11
             Font.Name = 'Courier New'
             Font.Style = []
             ParentFont = False
@@ -493,132 +346,93 @@ object Form1: TForm1
             ScrollBars = ssBoth
             TabOrder = 0
             WordWrap = False
-            ExplicitLeft = 2
-            ExplicitTop = 2
-            ExplicitWidth = 476
-            ExplicitHeight = 178
           end
           object Button2: TButton
-            Left = 503
-            Top = 37
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 21
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Params'
             TabOrder = 1
             OnClick = Button2Click
-            ExplicitLeft = 494
           end
           object Button3: TButton
-            Left = 503
-            Top = 74
-            Width = 112
-            Height = 31
-            Margins.Left = 5
-            Margins.Top = 5
-            Margins.Right = 5
-            Margins.Bottom = 5
+            Left = 282
+            Top = 42
+            Width = 64
+            Height = 18
             Anchors = [akTop, akRight]
             Caption = 'Asm'
             TabOrder = 2
             OnClick = Button3Click
-            ExplicitLeft = 494
           end
         end
       end
       object TabSheet3: TTabSheet
-        Margins.Left = 5
-        Margins.Top = 5
-        Margins.Right = 5
-        Margins.Bottom = 5
         Caption = 'Control'
         ImageIndex = 2
         object TrackBar1: TTrackBar
-          Left = 238
-          Top = 14
-          Width = 263
-          Height = 58
-          Margins.Left = 5
-          Margins.Top = 5
-          Margins.Right = 5
-          Margins.Bottom = 5
+          Left = 136
+          Top = 8
+          Width = 150
+          Height = 33
           TabOrder = 0
-          ThumbLength = 35
           OnChange = TrackBar1Change
         end
       end
     end
   end
   object Panel9: TPanel
-    Left = 651
+    Left = 372
     Top = 0
-    Width = 677
-    Height = 770
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 387
+    Height = 440
     Align = alClient
     Font.Charset = ANSI_CHARSET
     Font.Color = clWindowText
-    Font.Height = -33
+    Font.Height = -19
     Font.Name = 'Tahoma'
     Font.Style = [fsBold]
     ParentFont = False
     TabOrder = 1
+    ExplicitWidth = 379
+    ExplicitHeight = 415
     object Panel10: TPanel
       Left = 1
       Top = 1
-      Width = 675
-      Height = 84
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 385
+      Height = 48
       Align = alTop
       Caption = 'Cg CubeMap'
       Font.Charset = ANSI_CHARSET
       Font.Color = clWindowText
-      Font.Height = -33
+      Font.Height = -19
       Font.Name = 'Trebuchet MS'
       Font.Style = [fsBold]
       ParentFont = False
       TabOrder = 0
-      ExplicitLeft = 2
-      ExplicitTop = 2
-      ExplicitWidth = 674
+      ExplicitWidth = 377
     end
     object GLSceneViewer1: TGLSceneViewer
       Left = 1
-      Top = 85
-      Width = 675
-      Height = 684
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Top = 49
+      Width = 385
+      Height = 390
       Camera = GLCamera1
       Buffer.FaceCulling = False
       Buffer.AntiAliasing = aa4x
-      FieldOfView = 163.146057128906300000
+      FieldOfView = 150.879455566406300000
       PenAsTouch = False
       Align = alClient
       OnMouseDown = GLSceneViewer1MouseDown
       OnMouseMove = GLSceneViewer1MouseMove
       TabOrder = 1
-      ExplicitLeft = 2
-      ExplicitTop = 86
-      ExplicitWidth = 674
-      ExplicitHeight = 682
     end
   end
   object GLScene1: TGLScene
-    Left = 408
-    Top = 56
+    Left = 64
+    Top = 112
     object GLLightSource1: TGLLightSource
       Ambient.Color = {23DB793F23DB793F23DB793F0000803F}
       ConstAttenuation = 1.000000000000000000
@@ -9934,6 +9748,8 @@ object Form1: TForm1
         Material.MaterialLibrary = GLMaterialLibrary1
         Material.LibMaterialName = 'environment'
         Radius = 0.500000000000000000
+        Slices = 64
+        Stacks = 32
       end
       object GLTorus1: TGLTorus
         Material.MaterialLibrary = GLMaterialLibrary1
@@ -10071,14 +9887,14 @@ object Form1: TForm1
         Texture2Name = 'environment'
         Shader = CgShader1
       end>
-    Left = 376
-    Top = 88
+    Left = 160
+    Top = 112
   end
   object GLCadencer1: TGLCadencer
     Scene = GLScene1
     OnProgress = GLCadencer1Progress
-    Left = 408
-    Top = 88
+    Left = 64
+    Top = 184
   end
   object CgShader1: TCgShader
     VertexProgram.OnApply = CgShader1ApplyVP
@@ -10088,19 +9904,19 @@ object Form1: TForm1
     OnApplyFP = CgShader1ApplyFP
     OnUnApplyFP = CgShader1UnApplyFragmentProgram
     OnInitialize = CgShader1Initialize
-    Left = 376
-    Top = 56
+    Left = 160
+    Top = 184
   end
   object Timer1: TTimer
     OnTimer = Timer1Timer
-    Left = 444
-    Top = 56
+    Left = 268
+    Top = 112
   end
   object GLMemoryViewer1: TGLMemoryViewer
     Camera = GLCamera2
     Width = 128
     Height = 128
-    Left = 445
-    Top = 88
+    Left = 269
+    Top = 184
   end
 end

+ 1 - 1
Examples/Demos/cgshaders/Reflect/fReflectD.pas → Examples/Demos/cgshaders/Reflect/fdReflect.pas

@@ -1,4 +1,4 @@
-unit fReflectD;
+unit fdReflect;
 
 interface
 

Dosya farkı çok büyük olduğundan ihmal edildi
+ 344 - 331
Examples/Demos/cgshaders/SimpleCG/CgSimpleC.cbproj


+ 1 - 1
Examples/Demos/cgshaders/SimpleCG/CgSimpleC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fCgSimpleC.cpp", Form1);
+USEFORM("fcCgSimple.cpp", Form1);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 2 - 5
Examples/Demos/cgshaders/SimpleCG/fCgSimpleC.cpp → Examples/Demos/cgshaders/SimpleCG/fcCgSimple.cpp

@@ -4,11 +4,10 @@
 #include <tchar.h>
 #pragma hdrstop
 
-#include "fCgSimpleC.h"
+#include "fcCgSimple.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma link "GLS.BaseClasses"
-#pragma link "Cg.Shader"
 
 #pragma link "GLS.Material"
 #pragma link "GLS.Scene"
@@ -20,9 +19,7 @@
 #pragma link "GLS.VectorFileObjects"
 #pragma link "GLS.File3DS"
 
-#pragma link "Cg.Shader"
-#pragma link "Cg.Shader"
-#pragma link "Cg.Shader"
+#pragma link "GLS.CgShader"
 #pragma resource "*.dfm"
 TForm1 *Form1;
 //---------------------------------------------------------------------------

+ 9 - 0
Examples/Demos/cgshaders/SimpleCG/fCgSimpleC.dfm → Examples/Demos/cgshaders/SimpleCG/fcCgSimple.dfm

@@ -32,6 +32,7 @@ object Form1: TForm1
     BevelInner = bvRaised
     BevelOuter = bvLowered
     TabOrder = 0
+    ExplicitHeight = 397
     object PageControl1: TPageControl
       Left = 2
       Top = 2
@@ -46,6 +47,7 @@ object Form1: TForm1
       Font.Style = []
       ParentFont = False
       TabOrder = 0
+      ExplicitHeight = 393
       object TabSheet1: TTabSheet
         Caption = 'Vertex Program'
         object Splitter3: TSplitter
@@ -98,6 +100,7 @@ object Form1: TForm1
           Align = alClient
           Caption = 'Panel6'
           TabOrder = 1
+          ExplicitHeight = 233
           object Panel12: TPanel
             Left = 1
             Top = 1
@@ -125,6 +128,7 @@ object Form1: TForm1
             TabOrder = 1
             WordWrap = False
             OnChange = MemoVertCodeChange
+            ExplicitHeight = 190
           end
           object Panel13: TPanel
             Left = 1
@@ -134,6 +138,7 @@ object Form1: TForm1
             Align = alBottom
             BevelOuter = bvNone
             TabOrder = 2
+            ExplicitTop = 207
             DesignSize = (
               355
               25)
@@ -157,6 +162,7 @@ object Form1: TForm1
           Height = 104
           Align = alBottom
           TabOrder = 2
+          ExplicitTop = 261
           DesignSize = (
             357
             104)
@@ -382,6 +388,8 @@ object Form1: TForm1
     Font.Style = [fsBold]
     ParentFont = False
     TabOrder = 1
+    ExplicitWidth = 465
+    ExplicitHeight = 397
     object PanelFPS: TPanel
       Left = 1
       Top = 1
@@ -396,6 +404,7 @@ object Form1: TForm1
       Font.Style = []
       ParentFont = False
       TabOrder = 0
+      ExplicitWidth = 463
     end
     object GLSceneViewer1: TGLSceneViewer
       Left = 1

+ 3 - 3
Examples/Demos/cgshaders/SimpleCG/fCgSimpleC.h → Examples/Demos/cgshaders/SimpleCG/fcCgSimple.h

@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 
-#ifndef fCgSimpleCH
-#define fCgSimpleCH
+#ifndef fcCgSimpleH
+#define fcCgSimpleH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
 #include <Vcl.Controls.hpp>
@@ -23,7 +23,7 @@
 #include "GLS.File3DS.hpp"
 #include "Cg.Import.hpp"
 #include "Cg.GL.hpp"
-#include "Cg.Shader.hpp"
+#include "GLS.CgShader.hpp"
 
 //---------------------------------------------------------------------------
 class TForm1 : public TForm

+ 33 - 3
Examples/Demos/cgshaders/Texturing/CgTextureC.cbproj

@@ -181,13 +181,13 @@
         <CppCompile Include="CgTextureC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="fCgTextureC.cpp">
+        <CppCompile Include="fcCgTexture.cpp">
             <Form>Form1</Form>
             <FormType>dfm</FormType>
-            <DependentOn>fCgTextureC.h</DependentOn>
+            <DependentOn>fcCgTexture.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fCgTextureC.dfm"/>
+        <FormResources Include="fcCgTexture.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -294,6 +294,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -319,6 +329,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule"/>
@@ -335,6 +355,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\CgTextureC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\CgTextureC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">

+ 1 - 1
Examples/Demos/cgshaders/Texturing/CgTextureC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fCgTextureC.cpp", Form1);
+USEFORM("fcCgTexture.cpp", Form1);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 1 - 1
Examples/Demos/cgshaders/Texturing/CgTextureD.dpr

@@ -11,7 +11,7 @@ program CgTextureD;
 
 uses
   Forms,
-  fCgTextureD in 'fCgTextureD.pas' {FormCgTexture};
+  fdCgTexture in 'fdCgTexture.pas' {FormCgTexture};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/cgshaders/Texturing/CgTextureD.dproj

@@ -125,7 +125,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fCgTextureD.pas">
+        <DCCReference Include="fdCgTexture.pas">
             <Form>FormCgTexture</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 1 - 1
Examples/Demos/cgshaders/Texturing/fCgTextureC.cpp → Examples/Demos/cgshaders/Texturing/fcCgTexture.cpp

@@ -4,7 +4,7 @@
 #include <tchar.h>
 #pragma hdrstop
 
-#include "fCgTextureC.h"
+#include "fcCgTexture.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma link "GLS.BaseClasses"

Dosya farkı çok büyük olduğundan ihmal edildi
+ 263 - 536
Examples/Demos/cgshaders/Texturing/fcCgTexture.dfm


+ 2 - 2
Examples/Demos/cgshaders/Texturing/fCgTextureC.h → Examples/Demos/cgshaders/Texturing/fcCgTexture.h

@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 
-#ifndef fCgTextureCH
-#define fCgTextureCH
+#ifndef fcCgTextureH
+#define fcCgTextureH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
 #include <Vcl.Controls.hpp>

+ 0 - 0
Examples/Demos/cgshaders/Texturing/fCgTextureD.dfm → Examples/Demos/cgshaders/Texturing/fdCgTexture.dfm


+ 1 - 1
Examples/Demos/cgshaders/Texturing/fCgTextureD.pas → Examples/Demos/cgshaders/Texturing/fdCgTexture.pas

@@ -1,4 +1,4 @@
-unit fCgTextureD;
+unit fdCgTexture;
 
 interface
 

+ 8 - 8
Examples/Demos/extrusion/aExtrusion.htm

@@ -74,7 +74,7 @@ ul
 <ul style='margin-top:0cm' type=disc>
  <li class=MsoNormal><span lang=FR><a href="bendingcyl/BendingD.dpr"><b>BendingCyl</b></a><b>&nbsp;:</b></span></li>
  <ul style='margin-top:0cm' type=circle>
-  <li class=MsoNormal><span lang=FR>uses TPipe, the circle extrusion component</span></li>
+  <li class=MsoNormal><span lang=FR>uses TGLPipe, the circle extrusion component</span></li>
   <li class=MsoNormal><span lang=FR>a bending cylinder getting fat/slim</span></li>
  </ul>
 </ul>
@@ -85,10 +85,10 @@ ul
  <li class=MsoNormal><span lang=FR><a href="cutoutstar/CutoutStarD.dpr"><strong>CutoutStar</strong></a>
      :</span></li>
  <ul style='margin-top:0cm' type=circle>
-  <li class=MsoNormal><span lang=FR>using TExtrusionSolid to render an extruded
+  <li class=MsoNormal><span lang=FR>using TGLExtrusionSolid to render an extruded
       object</span></li>
-  <li class=MsoNormal><span lang=FR>cutting out parts in a TExtrusionSolid (or
-      TMultiPolygon)</span></li>
+  <li class=MsoNormal><span lang=FR>cutting out parts in a TGLExtrusionSolid (or
+      TGLMultiPolygon)</span></li>
  </ul>
 </ul>
 
@@ -99,8 +99,8 @@ ul
  <ul style='margin-top:0cm' type=circle>
   <li class=MsoNormal><span lang=FR>a no-code, design-time only sample
       rendering of a nut and accompanying bolt</span></li>
-  <li class=MsoNormal><span lang=FR>uses TRevolutionSolid, TCylinder and
-      TAnnulus to build both items</span></li>
+  <li class=MsoNormal><span lang=FR>uses TGLRevolutionSolid, TCylinder and
+      TGLAnnulus to build both items</span></li>
  </ul>
 </ul>
 
@@ -109,7 +109,7 @@ ul
 <ul style='margin-top:0cm' type=disc>
  <li class=MsoNormal><span lang=FR><a href="pawn/PawnD.dpr"><b>Pawn</b></a><b>&nbsp;:</b></span></li>
  <ul style='margin-top:0cm' type=circle>
-  <li class=MsoNormal><span lang=FR>basic TRevolutionSolid use to make a
+  <li class=MsoNormal><span lang=FR>basic TGLRevolutionSolid use to make a
       wood-textured pawn-like object</span></li>
   <li class=MsoNormal><span lang=FR>interactive controls to check the effects
       of various properties on visual aspect</span></li>
@@ -122,7 +122,7 @@ ul
  <li class=MsoNormal><span lang=FR><a href="tentacles/TentaclesD.dpr"><b>Tentacles</b></a>
      :</span></li>
  <ul style='margin-top:0cm' type=circle>
-  <li class=MsoNormal><span lang=FR>using TPipe for weirdo tentacles effects,
+  <li class=MsoNormal><span lang=FR>using TGLPipe for weird tentacles effects,
       per-node coloring</span></li>
   <li class=MsoNormal><span lang=FR>adjusting ObjectStyle to speed up rendering
       of constantly changing geometry</span></li>

+ 33 - 3
Examples/Demos/glslshaders/BumpShader/BumpShaderC.cbproj

@@ -185,13 +185,13 @@
         <CppCompile Include="BumpShaderC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="fBumpShaderC.cpp">
+        <CppCompile Include="fcBumpShader.cpp">
             <Form>Form1</Form>
             <FormType>dfm</FormType>
-            <DependentOn>fBumpShaderC.h</DependentOn>
+            <DependentOn>fcBumpShader.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fBumpShaderC.dfm"/>
+        <FormResources Include="fcBumpShader.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -298,6 +298,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -323,6 +333,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule"/>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule"/>
@@ -339,6 +359,16 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\BumpShaderC.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\BumpShaderC.tds" Configuration="Debug" Class="DebugSymbols"/>
                 <DeployClass Name="AdditionalDebugSymbols">

+ 1 - 1
Examples/Demos/glslshaders/BumpShader/BumpShaderC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fBumpShaderC.cpp", Form1);
+USEFORM("fcBumpShader.cpp", Form1);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 1 - 1
Examples/Demos/glslshaders/BumpShader/BumpShaderD.dpr

@@ -10,7 +10,7 @@ program BumpShaderD;
 
 uses
   Forms,
-  fBumpShaderD in 'fBumpShaderD.pas' {FormBumpShader};
+  fdBumpShader in 'fdBumpShader.pas' {FormBumpShader};
 
 {$R *.res}
 

+ 1 - 1
Examples/Demos/glslshaders/BumpShader/BumpShaderD.dproj

@@ -124,7 +124,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fBumpShaderD.pas">
+        <DCCReference Include="fdBumpShader.pas">
             <Form>FormBumpShader</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">

+ 1 - 1
Examples/Demos/glslshaders/BumpShader/fBumpShaderC.cpp → Examples/Demos/glslshaders/BumpShader/fcBumpShader.cpp

@@ -5,7 +5,7 @@
 #include <System.Math.hpp>
 #pragma hdrstop
 
-#include "fBumpShaderC.h"
+#include "fcBumpShader.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma link "GLS.BaseClasses"

+ 43 - 79
Examples/Demos/glslshaders/BumpShader/fBumpShaderC.dfm → Examples/Demos/glslshaders/BumpShader/fcBumpShader.dfm

@@ -1,41 +1,32 @@
 object Form1: TForm1
   Left = 0
   Top = 0
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'GLSL Bump Shader'
-  ClientHeight = 884
-  ClientWidth = 1162
+  ClientHeight = 505
+  ClientWidth = 664
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
   Position = poScreenCenter
   OnClose = FormClose
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 168
-  TextHeight = 23
+  TextHeight = 13
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 1162
-    Height = 802
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 664
+    Height = 458
     Camera = Camera
     Buffer.BackgroundColor = clBackground
     Buffer.ContextOptions = [roDoubleBuffer, roStencilBuffer, roRenderToWindow]
     Buffer.AntiAliasing = aaNone
     Buffer.DepthPrecision = dp24bits
     Buffer.ColorDepth = cd24bits
-    FieldOfView = 161.585479736328100000
+    FieldOfView = 148.307571411132800000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
@@ -44,24 +35,18 @@ object Form1: TForm1
   end
   object Panel1: TPanel
     Left = 0
-    Top = 802
-    Width = 1162
-    Height = 82
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 458
+    Width = 664
+    Height = 47
     Align = alBottom
     TabOrder = 1
+    ExplicitTop = 433
+    ExplicitWidth = 656
     object LightMovingCheckBox: TCheckBox
-      Left = 14
-      Top = 14
-      Width = 170
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 8
+      Width = 97
+      Height = 17
       Caption = 'Light is Moving'
       Checked = True
       Color = clBtnFace
@@ -70,41 +55,29 @@ object Form1: TForm1
       TabOrder = 0
     end
     object RollPitchTurnCheckBox: TCheckBox
-      Left = 14
-      Top = 42
-      Width = 282
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 24
+      Width = 161
+      Height = 17
       Caption = 'Roll / Pitch / Turn Enabled'
       Checked = True
       State = cbChecked
       TabOrder = 1
     end
     object ShaderEnabledCheckBox: TCheckBox
-      Left = 308
-      Top = 14
-      Width = 170
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 176
+      Top = 8
+      Width = 97
+      Height = 17
       Caption = 'Shader Enabled'
       TabOrder = 2
       OnClick = ShaderEnabledCheckBoxClick
     end
     object MultiLightShaderCheckBox: TCheckBox
-      Left = 308
-      Top = 42
-      Width = 186
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 176
+      Top = 24
+      Width = 106
+      Height = 17
       Caption = 'MultiLight Shader'
       Checked = True
       State = cbChecked
@@ -112,14 +85,10 @@ object Form1: TForm1
       OnClick = MultiLightShaderCheckBoxClick
     end
     object UseSpecularTextureCheckBox: TCheckBox
-      Left = 560
-      Top = 14
-      Width = 212
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 320
+      Top = 8
+      Width = 121
+      Height = 17
       Caption = 'Use Specular Texture'
       Checked = True
       State = cbChecked
@@ -127,14 +96,10 @@ object Form1: TForm1
       OnClick = UseSpecularTextureCheckBoxClick
     end
     object UseNormalTextureCheckBox: TCheckBox
-      Left = 560
-      Top = 42
-      Width = 212
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 320
+      Top = 24
+      Width = 121
+      Height = 17
       Caption = 'Use Normal Texture'
       Checked = True
       State = cbChecked
@@ -142,14 +107,10 @@ object Form1: TForm1
       OnClick = UseNormalTextureCheckBoxClick
     end
     object ShowNotGLSceneObjectsCheckBox: TCheckBox
-      Left = 798
-      Top = 14
-      Width = 324
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 456
+      Top = 8
+      Width = 185
+      Height = 17
       Caption = 'Show not GLScene objects'
       Checked = True
       State = cbChecked
@@ -206,6 +167,7 @@ object Form1: TForm1
         Material.FrontProperties.Diffuse.Color = {E6E5653F8180003DCDCC4C3F0000803F}
         Material.FrontProperties.Emission.Color = {F4F3733FEEED6D3F000000000000803F}
         Radius = 10.000000000000000000
+        Slices = 64
       end
     end
     object LightCube2: TGLDummyCube
@@ -225,6 +187,7 @@ object Form1: TForm1
         Material.FrontProperties.Diffuse.Color = {EAE9693FCDCC4C3FCDCC4C3F0000803F}
         Material.FrontProperties.Emission.Color = {F0EF6F3F00000000000000000000803F}
         Radius = 10.000000000000000000
+        Slices = 64
       end
     end
     object WorldCube: TGLDummyCube
@@ -281,6 +244,7 @@ object Form1: TForm1
         Up.Coordinates = {00000000000000000000803F00000000}
         Visible = False
         Radius = 50.000000000000000000
+        Slices = 64
       end
     end
     object Camera: TGLCamera

+ 2 - 2
Examples/Demos/glslshaders/BumpShader/fBumpShaderC.h → Examples/Demos/glslshaders/BumpShader/fcBumpShader.h

@@ -1,7 +1,7 @@
 //---------------------------------------------------------------------------
 
-#ifndef fBumpShaderCH
-#define fBumpShaderCH
+#ifndef fcBumpShaderH
+#define fcBumpShaderH
 //---------------------------------------------------------------------------
 #include <System.Classes.hpp>
 #include <Vcl.Controls.hpp>

+ 40 - 79
Examples/Demos/glslshaders/BumpShader/fBumpShaderD.dfm → Examples/Demos/glslshaders/BumpShader/fdBumpShader.dfm

@@ -1,41 +1,32 @@
 object FormBumpShader: TFormBumpShader
   Left = 261
   Top = 176
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'GLSL Bump Shader'
-  ClientHeight = 1059
-  ClientWidth = 1498
+  ClientHeight = 605
+  ClientWidth = 856
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnClose = FormClose
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 1199
-    Height = 1059
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 685
+    Height = 605
     Camera = Camera
     Buffer.BackgroundColor = clBackground
     Buffer.ContextOptions = [roDoubleBuffer, roStencilBuffer, roRenderToWindow]
     Buffer.AntiAliasing = aaNone
     Buffer.DepthPrecision = dp24bits
     Buffer.ColorDepth = cd24bits
-    FieldOfView = 166.003082275390600000
+    FieldOfView = 155.745819091796900000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
@@ -43,25 +34,19 @@ object FormBumpShader: TFormBumpShader
     TabOrder = 0
   end
   object Panel1: TPanel
-    Left = 1199
+    Left = 685
     Top = 0
-    Width = 299
-    Height = 1059
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 171
+    Height = 605
     Align = alRight
     TabOrder = 1
+    ExplicitLeft = 677
+    ExplicitHeight = 580
     object LightMovingCheckBox: TCheckBox
-      Left = 14
-      Top = 14
-      Width = 170
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 8
+      Width = 97
+      Height = 17
       Caption = 'Light is Moving'
       Checked = True
       Color = clBtnFace
@@ -70,26 +55,18 @@ object FormBumpShader: TFormBumpShader
       TabOrder = 0
     end
     object RollPitchTurnCheckBox: TCheckBox
-      Left = 14
-      Top = 54
-      Width = 282
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 31
+      Width = 161
+      Height = 17
       Caption = 'Roll / Pitch / Turn Enabled'
       TabOrder = 1
     end
     object ShaderEnabledCheckBox: TCheckBox
-      Left = 14
-      Top = 126
-      Width = 170
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 72
+      Width = 97
+      Height = 17
       Caption = 'Shader Enabled'
       Checked = True
       State = cbChecked
@@ -97,14 +74,10 @@ object FormBumpShader: TFormBumpShader
       OnClick = ShaderEnabledCheckBoxClick
     end
     object MultiLightShaderCheckBox: TCheckBox
-      Left = 14
-      Top = 154
-      Width = 186
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 88
+      Width = 106
+      Height = 17
       Caption = 'MultiLight Shader'
       Checked = True
       State = cbChecked
@@ -112,14 +85,10 @@ object FormBumpShader: TFormBumpShader
       OnClick = MultiLightShaderCheckBoxClick
     end
     object UseSpecularTextureCheckBox: TCheckBox
-      Left = 14
-      Top = 224
-      Width = 212
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 128
+      Width = 121
+      Height = 17
       Caption = 'Use Specular Texture'
       Checked = True
       State = cbChecked
@@ -127,14 +96,10 @@ object FormBumpShader: TFormBumpShader
       OnClick = UseSpecularTextureCheckBoxClick
     end
     object UseNormalTextureCheckBox: TCheckBox
-      Left = 14
-      Top = 252
-      Width = 212
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 144
+      Width = 121
+      Height = 17
       Caption = 'Use Normal Texture'
       Checked = True
       State = cbChecked
@@ -142,14 +107,10 @@ object FormBumpShader: TFormBumpShader
       OnClick = UseNormalTextureCheckBoxClick
     end
     object ShowNotGLSceneObjectsCheckBox: TCheckBox
-      Left = 11
-      Top = 308
-      Width = 229
-      Height = 30
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 6
+      Top = 176
+      Width = 131
+      Height = 17
       Caption = 'Show not GLS objects'
       Checked = True
       State = cbChecked

+ 1 - 1
Examples/Demos/glslshaders/BumpShader/fBumpShaderD.pas → Examples/Demos/glslshaders/BumpShader/fdBumpShader.pas

@@ -1,4 +1,4 @@
-unit fBumpShaderD;
+unit fdBumpShader;
 
 interface
 

+ 0 - 0
Examples/Demos/glslshaders/SkyboxShader/SkyboxShader.jpg → Examples/Demos/glslshaders/SkyShader/SkyShader.jpg


+ 1251 - 0
Examples/Demos/glslshaders/SkyShader/SkyShaderC.cbproj

@@ -0,0 +1,1251 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <ProjectGuid>{5DF35D7C-DFC4-4ADB-8813-3EF02E6B0D0F}</ProjectGuid>
+        <ProjectVersion>20.3</ProjectVersion>
+        <FrameworkType>VCL</FrameworkType>
+        <MainSource>SkyShaderC.cpp</MainSource>
+        <AppType>Application</AppType>
+        <Base>True</Base>
+        <Config Condition="'$(Config)'==''">Debug</Config>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
+        <ProjectName Condition="'$(ProjectName)'==''">SkyShaderC</ProjectName>
+        <TargetedPlatforms>1</TargetedPlatforms>
+        <CC_Suffix Condition="'$(CC_Suffix)'==''">c</CC_Suffix>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+        <Base_Win32>true</Base_Win32>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
+        <Base_Win64>true</Base_Win64>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64x' and '$(Base)'=='true') or '$(Base_Win64x)'!=''">
+        <Base_Win64x>true</Base_Win64x>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
+        <Cfg_1>true</Cfg_1>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
+        <Cfg_1_Win32>true</Cfg_1_Win32>
+        <CfgParent>Cfg_1</CfgParent>
+        <Cfg_1>true</Cfg_1>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
+        <Cfg_1_Win64>true</Cfg_1_Win64>
+        <CfgParent>Cfg_1</CfgParent>
+        <Cfg_1>true</Cfg_1>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64x' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64x)'!=''">
+        <Cfg_1_Win64x>true</Cfg_1_Win64x>
+        <CfgParent>Cfg_1</CfgParent>
+        <Cfg_1>true</Cfg_1>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
+        <Cfg_2>true</Cfg_2>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
+        <Cfg_2_Win32>true</Cfg_2_Win32>
+        <CfgParent>Cfg_2</CfgParent>
+        <Cfg_2>true</Cfg_2>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
+        <Cfg_2_Win64>true</Cfg_2_Win64>
+        <CfgParent>Cfg_2</CfgParent>
+        <Cfg_2>true</Cfg_2>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64x' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64x)'!=''">
+        <Cfg_2_Win64x>true</Cfg_2_Win64x>
+        <CfgParent>Cfg_2</CfgParent>
+        <Cfg_2>true</Cfg_2>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base)'!=''">
+        <DCC_CBuilderOutput>JPHNE</DCC_CBuilderOutput>
+        <DynamicRTL>true</DynamicRTL>
+        <UsePackages>true</UsePackages>
+        <IntermediateOutputDir>.\$(Platform)\$(Config)</IntermediateOutputDir>
+        <FinalOutputDir>.\$(Platform)\$(Config)</FinalOutputDir>
+        <BCC_wpar>false</BCC_wpar>
+        <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed>
+        <BCC_ExtendedErrorInfo>true</BCC_ExtendedErrorInfo>
+        <ILINK_TranslatedLibraryPath>$(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath)</ILINK_TranslatedLibraryPath>
+        <ProjectType>CppVCLApplication</ProjectType>
+        <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
+        <AllPackageLibs>rtl.lib;vcl.lib;GLScene_RT.lib;xmlrtl.lib;vclimg.lib</AllPackageLibs>
+        <_TCHARMapping>wchar_t</_TCHARMapping>
+        <Multithreaded>true</Multithreaded>
+        <Icon_MainIcon>$(BDS)\bin\cbuilder_PROJECTICON.ico</Icon_MainIcon>
+        <UWP_CppLogo44>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png</UWP_CppLogo44>
+        <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150>
+        <IncludePath>D:\GLXEngine\Examples\Demos\glslshaders\SkyboxShader\;$(IncludePath)</IncludePath>
+        <ILINK_LibraryPath>D:\GLXEngine\Examples\Demos\glslshaders\SkyboxShader\;$(ILINK_LibraryPath)</ILINK_LibraryPath>
+        <SanitizedProjectName>SkyShaderC</SanitizedProjectName>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win32)'!=''">
+        <PackageImports>adortl;bcbie;bcbsmp;bdertl;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;GBComps;GLScene_Cg_RT;GLScene_GPU_RT;GLScene_Physics_RT;GLScene_RT;GLScene_Sounds_RT;GR32_DT;GR32_RT;GXScene_GBE_DTRT;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldbx;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports)</PackageImports>
+        <IncludePath>$(BDSINCLUDE)\windows\vcl;$(IncludePath)</IncludePath>
+        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win64)'!=''">
+        <PackageImports>adortl;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;GR32_RT;GXScene_GBE_DTRT;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports)</PackageImports>
+        <IncludePath>$(BDSINCLUDE)\windows\vcl;$(IncludePath)</IncludePath>
+        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win64x)'!=''">
+        <PackageImports>adortl;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;GXScene_GBE_DTRT;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;inetstn;RESTBackendComponents;RESTComponents;rtl;Skia;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports)</PackageImports>
+        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+        <BCC_EnableBatchCompilation>true</BCC_EnableBatchCompilation>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1)'!=''">
+        <BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed>
+        <BCC_DisableOptimizations>true</BCC_DisableOptimizations>
+        <DCC_Optimize>false</DCC_Optimize>
+        <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
+        <Defines>_DEBUG;$(Defines)</Defines>
+        <BCC_InlineFunctionExpansion>false</BCC_InlineFunctionExpansion>
+        <BCC_UseRegisterVariables>None</BCC_UseRegisterVariables>
+        <DCC_Define>DEBUG</DCC_Define>
+        <BCC_DebugLineNumbers>true</BCC_DebugLineNumbers>
+        <TASM_DisplaySourceLines>true</TASM_DisplaySourceLines>
+        <BCC_StackFrames>true</BCC_StackFrames>
+        <ILINK_FullDebugInfo>true</ILINK_FullDebugInfo>
+        <TASM_Debugging>Full</TASM_Debugging>
+        <BCC_SourceDebuggingOn>true</BCC_SourceDebuggingOn>
+        <BCC_EnableCPPExceptions>true</BCC_EnableCPPExceptions>
+        <BCC_DisableFramePtrElimOpt>true</BCC_DisableFramePtrElimOpt>
+        <BCC_DisableSpellChecking>true</BCC_DisableSpellChecking>
+        <CLANG_UnwindTables>true</CLANG_UnwindTables>
+        <ILINK_LibraryPath>$(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
+        <ILINK_TranslatedLibraryPath>$(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath)</ILINK_TranslatedLibraryPath>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <BCC_UseClassicCompiler>false</BCC_UseClassicCompiler>
+        <ILINK_LibraryPath>$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
+        <LinkPackageImports>rtl.bpi;vcl.bpi;GLScene_RT.bpi;xmlrtl.bpi;vclimg.bpi</LinkPackageImports>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1_Win64x)'!=''">
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <LinkPackageImports>rtl.bpi;vcl.bpi</LinkPackageImports>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2)'!=''">
+        <Defines>NDEBUG;$(Defines)</Defines>
+        <TASM_Debugging>None</TASM_Debugging>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <BCC_UseClassicCompiler>false</BCC_UseClassicCompiler>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2_Win64x)'!=''">
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+    </PropertyGroup>
+    <ItemGroup>
+        <CppCompile Include="fcSkyShader.cpp">
+            <Form>FormSkyShader</Form>
+            <FormType>dfm</FormType>
+            <DependentOn>fcSkyShader.h</DependentOn>
+            <BuildOrder>2</BuildOrder>
+        </CppCompile>
+        <CppCompile Include="SkyShaderC.cpp">
+            <BuildOrder>0</BuildOrder>
+        </CppCompile>
+        <FormResources Include="fcSkyShader.dfm"/>
+        <BuildConfiguration Include="Base">
+            <Key>Base</Key>
+        </BuildConfiguration>
+        <BuildConfiguration Include="Debug">
+            <Key>Cfg_1</Key>
+            <CfgParent>Base</CfgParent>
+        </BuildConfiguration>
+        <BuildConfiguration Include="Release">
+            <Key>Cfg_2</Key>
+            <CfgParent>Base</CfgParent>
+        </BuildConfiguration>
+    </ItemGroup>
+    <ProjectExtensions>
+        <Borland.Personality>CPlusPlusBuilder.Personality.12</Borland.Personality>
+        <Borland.ProjectType>CppVCLApplication</Borland.ProjectType>
+        <BorlandProject>
+            <CPlusPlusBuilder.Personality>
+                <Source>
+                    <Source Name="MainSource">SkyShaderC.cpp</Source>
+                </Source>
+                <ProjectProperties>
+                    <ProjectProperties Name="AutoShowDeps">False</ProjectProperties>
+                    <ProjectProperties Name="ManagePaths">True</ProjectProperties>
+                    <ProjectProperties Name="VerifyPackages">True</ProjectProperties>
+                    <ProjectProperties Name="IndexFiles">False</ProjectProperties>
+                </ProjectProperties>
+            </CPlusPlusBuilder.Personality>
+            <Deployment Version="5">
+                <DeployFile Condition="'$(DynamicRTL)'=='true'" LocalName="$(BDS)\Redist\osx32\libcgcrtl.dylib" Class="DependencyModule">
+                    <Platform Name="OSX32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true'" LocalName="$(BDS)\Redist\osx32\libcgstl.dylib" Class="DependencyModule">
+                    <Platform Name="OSX32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin64\borlndmm.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64370.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin\borlndmm.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c370.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c370mt.dll" Class="DependencyModule">
+                    <Platform Name="Win32">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName=".\Win64x\Debug\SkyShaderC.exe" Configuration="Debug" Class="ProjectOutput">
+                    <Platform Name="Win64x">
+                        <RemoteName>SkyShaderC.exe</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployFile LocalName=".\Win64x\Debug\SkyShaderC.pdb" Configuration="Debug" Class="DebugSymbols">
+                    <Platform Name="Win64x">
+                        <RemoteName>SkyShaderC.pdb</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployClass Name="AdditionalDebugSymbols">
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidFileProvider">
+                    <Platform Name="Android">
+                        <RemoteDir>res\xml</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\xml</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeArmeabiFile">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeMipsFile">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\mips</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\mips</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidServiceOutput">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidServiceOutput_Android32">
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashImageDef">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashImageDefV21">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-anydpi-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-anydpi-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStyles">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV21">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV31">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v31</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v31</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV35">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v35</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_AdaptiveIcon">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-anydpi-v26</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-anydpi-v26</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_AdaptiveIconBackground">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_AdaptiveIconForeground">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_AdaptiveIconMonochrome">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_AdaptiveIconV33">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-anydpi-v33</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-anydpi-v33</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_Colors">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_ColorsDark">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-night-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-night-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_DefaultAppIcon">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon144">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon192">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon36">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-ldpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-ldpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon48">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon72">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon96">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon24">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon36">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon48">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon72">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon96">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage426">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-small</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-small</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage470">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-normal</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-normal</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage640">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-large</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-large</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage960">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xlarge</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xlarge</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_Strings">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_VectorizedNotificationIcon">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-anydpi-v24</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-anydpi-v24</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_VectorizedSplash">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_VectorizedSplashDark">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-night-anydpi-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-night-anydpi-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_VectorizedSplashV31">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-anydpi-v31</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-anydpi-v31</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_VectorizedSplashV31Dark">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-night-anydpi-v31</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-night-anydpi-v31</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DebugSymbols">
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DependencyFramework">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DependencyModule">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                        <Extensions>.dll;.bpl</Extensions>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Required="true" Name="DependencyPackage">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                        <Extensions>.bpl</Extensions>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="File">
+                    <Platform Name="Android">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice32">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectAndroidManifest">
+                    <Platform Name="Android">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXDebug">
+                    <Platform Name="OSX64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXEntitlements">
+                    <Platform Name="OSX32">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXInfoPList">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXResource">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Required="true" Name="ProjectOutput">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Linux64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOutput_Android32">
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectUWPManifest">
+                    <Platform Name="Win32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64x">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSDeviceDebug">
+                    <Platform Name="iOSDevice32">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSEntitlements">
+                    <Platform Name="iOSDevice32">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSInfoPList">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSLaunchScreen">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen</RemoteDir>
+                        <Operation>64</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen</RemoteDir>
+                        <Operation>64</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSResource">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="UWP_CppLogo150">
+                    <Platform Name="Win32">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64x">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="UWP_CppLogo44">
+                    <Platform Name="Win32">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64x">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iOS_AppStore1024">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_AppIcon152">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_AppIcon167">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_LaunchDark2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Notification40">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Setting58">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_SpotLight80">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_AppIcon120">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_AppIcon180">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch3x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_LaunchDark2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_LaunchDark3x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Notification40">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Notification60">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Setting58">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Setting87">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Spotlight120">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Spotlight80">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimARM64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="iOSSimARM64" 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)"/>
+                <ProjectRoot Platform="Win64x" Name="$(PROJECTNAME)"/>
+            </Deployment>
+            <Platforms>
+                <Platform value="Win32">True</Platform>
+                <Platform value="Win64">False</Platform>
+                <Platform value="Win64x">False</Platform>
+            </Platforms>
+        </BorlandProject>
+        <ProjectFileVersion>12</ProjectFileVersion>
+    </ProjectExtensions>
+    <Import Project="$(BDS)\Bin\CodeGear.Cpp.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Cpp.Targets')"/>
+    <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
+    <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
+</Project>

+ 35 - 0
Examples/Demos/glslshaders/SkyShader/SkyShaderC.cpp

@@ -0,0 +1,35 @@
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+#include <tchar.h>
+//---------------------------------------------------------------------------
+USEFORM("fcSkyShader.cpp", FormSkyShader);
+//---------------------------------------------------------------------------
+int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
+{
+	try
+	{
+		Application->Initialize();
+		Application->MainFormOnTaskBar = true;
+		Application->CreateForm(__classid(TFormSkyShader), &FormSkyShader);
+		Application->Run();
+	}
+	catch (Exception &exception)
+	{
+		Application->ShowException(&exception);
+	}
+	catch (...)
+	{
+		try
+		{
+			throw Exception("");
+		}
+		catch (Exception &exception)
+		{
+			Application->ShowException(&exception);
+		}
+	}
+	return 0;
+}
+//---------------------------------------------------------------------------

+ 13 - 0
Examples/Demos/glslshaders/SkyShader/SkyShaderD.dpr

@@ -0,0 +1,13 @@
+program SkyShaderD;
+
+uses
+  Forms,
+  fdSkyShader in 'fdSkyShader.pas' {FormSkyShader};
+
+{$R *.res}
+
+begin
+  Application.Initialize;
+  Application.CreateForm(TFormSkyShader, FormSkyShader);
+  Application.Run;
+end.

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor