Jelajahi Sumber

preparing v. 2.5

glscene 9 bulan lalu
induk
melakukan
7587ef0afc
58 mengubah file dengan 423 tambahan dan 468 penghapusan
  1. 38 0
      Examples/AdvDemos/Quake3Actor/Model/animation.cfg
  2. 1 1
      Examples/Demos/specialsFX/Atmosphere/AtmosphereC.cbproj
  3. 2 2
      Examples/Demos/specialsFX/Atmosphere/AtmosphereC.cpp
  4. 14 14
      Examples/Demos/specialsFX/Atmosphere/fAtmosphereC.cpp
  5. 4 3
      Examples/Demos/specialsFX/Atmosphere/fAtmosphereC.dfm
  6. 5 5
      Examples/Demos/specialsFX/Atmosphere/fAtmosphereC.h
  7. 67 129
      Examples/Demos/specialsFX/Atmosphere/fAtmosphereD.dfm
  8. 3 4
      Examples/Demos/specialsFX/Atmosphere/fAtmosphereD.pas
  9. 1 1
      Examples/Demos/specialsFX/boom/BoomC.cbproj
  10. 2 2
      Examples/Demos/specialsFX/boom/BoomC.cpp
  11. 2 2
      Examples/Demos/specialsFX/boom/BoomD.dpr
  12. 1 1
      Examples/Demos/specialsFX/boom/BoomD.dproj
  13. 8 8
      Examples/Demos/specialsFX/boom/fBoomC.cpp
  14. 1 2
      Examples/Demos/specialsFX/boom/fBoomC.dfm
  15. 3 3
      Examples/Demos/specialsFX/boom/fBoomC.h
  16. 1 2
      Examples/Demos/specialsFX/boom/fBoomD.dfm
  17. 8 8
      Examples/Demos/specialsFX/boom/fBoomD.pas
  18. 1 1
      Examples/Demos/specialsFX/candles/CandlesC.cbproj
  19. 2 2
      Examples/Demos/specialsFX/candles/CandlesC.cpp
  20. 7 7
      Examples/Demos/specialsFX/candles/fCandlesC.cpp
  21. 12 10
      Examples/Demos/specialsFX/candles/fCandlesC.dfm
  22. 3 3
      Examples/Demos/specialsFX/candles/fCandlesC.h
  23. 9 6
      Examples/Demos/specialsFX/candles/fCandlesD.dfm
  24. 1 1
      Examples/Demos/specialsFX/fire/FireC.cbproj
  25. 2 2
      Examples/Demos/specialsFX/fire/FireC.cpp
  26. 6 6
      Examples/Demos/specialsFX/fire/fFireC.cpp
  27. 8 8
      Examples/Demos/specialsFX/fire/fFireC.dfm
  28. 3 3
      Examples/Demos/specialsFX/fire/fFireC.h
  29. 13 12
      Examples/Demos/specialsFX/fire/fFireD.dfm
  30. 1 1
      Examples/Demos/specialsFX/meshexplosion/MeshExplosionC.cbproj
  31. 2 2
      Examples/Demos/specialsFX/meshexplosion/MeshExplosionC.cpp
  32. 10 10
      Examples/Demos/specialsFX/meshexplosion/fMeshExplosionC.cpp
  33. 12 8
      Examples/Demos/specialsFX/meshexplosion/fMeshExplosionC.dfm
  34. 3 3
      Examples/Demos/specialsFX/meshexplosion/fMeshExplosionC.h
  35. 11 7
      Examples/Demos/specialsFX/meshexplosion/fMeshExplosionD.dfm
  36. 1 1
      Examples/Demos/specialsFX/motionblur/MotionBlurC.cbproj
  37. 2 2
      Examples/Demos/specialsFX/motionblur/MotionBlurC.cpp
  38. 10 10
      Examples/Demos/specialsFX/motionblur/fMotionBlurC.cpp
  39. 1 3
      Examples/Demos/specialsFX/motionblur/fMotionBlurC.dfm
  40. 3 3
      Examples/Demos/specialsFX/motionblur/fMotionBlurC.h
  41. 18 19
      Examples/Demos/specialsFX/motionblur/fMotionBlurD.dfm
  42. 3 2
      Examples/Demos/specialsFX/posteffect/fPostEffectC.cpp
  43. 28 47
      Examples/Demos/specialsFX/posteffect/fPostEffectC.dfm
  44. 5 1
      Examples/Demos/specialsFX/posteffect/fPostEffectC.h
  45. 23 47
      Examples/Demos/specialsFX/posteffect/fPostEffectD.dfm
  46. 0 4
      Examples/Demos/specialsFX/posteffect/fPostEffectD.pas
  47. 1 1
      Examples/Demos/specialsFX/waterplane/WaterPlaneC.cbproj
  48. 2 2
      Examples/Demos/specialsFX/waterplane/WaterPlaneC.cpp
  49. 13 13
      Examples/Demos/specialsFX/waterplane/fWaterPlaneC.cpp
  50. 8 8
      Examples/Demos/specialsFX/waterplane/fWaterPlaneC.dfm
  51. 3 3
      Examples/Demos/specialsFX/waterplane/fWaterPlaneC.h
  52. 14 12
      Examples/Demos/specialsFX/waterplane/fWaterPlaneD.dfm
  53. 11 11
      Examples/Demos/specialsFX/waterplane/fWaterPlaneD.pas
  54. TEMPAT SAMPAH
      Examples/Demox/Island/Island.dres
  55. 5 0
      Examples/Demox/Island/IslandResource.rc
  56. TEMPAT SAMPAH
      Examples/Demox/Joystickplayer/Joystickplayer.dres
  57. 4 0
      Examples/Demox/Joystickplayer/JoystickplayerResource.rc
  58. 1 0
      Sourcex/GBE.PlaneExtend.pas

+ 38 - 0
Examples/AdvDemos/Quake3Actor/Model/animation.cfg

@@ -0,0 +1,38 @@
+// animation config file
+
+// first frame, num frames, looping frames, frames per second
+
+0	30	0	25		// BOTH_DEATH1
+29	1	0	25		// BOTH_DEAD1
+30	30	0	25		// BOTH_DEATH2
+59	1	0	25		// BOTH_DEAD2
+60	30	0	25		// BOTH_DEATH3
+89	1	0	25		// BOTH_DEAD3
+
+90	40	0	15		// TORSO_GESTURE
+
+130	6	0	15		// TORSO_ATTACK		(MUST NOT CHANGE -- hand animation is synced to this)
+136	6	0	15		// TORSO_ATTACK2	(MUST NOT CHANGE -- hand animation is synced to this)
+
+142	5	0	15		// TORSO_DROP		(MUST NOT CHANGE -- hand animation is synced to this)
+147	4	0	15		// TORSO_RAISE		(MUST NOT CHANGE -- hand animation is synced to this)
+
+151	1	0	15		// TORSO_STAND
+152	1	0	15		// TORSO_STAND2
+
+153	8	8	20		// LEGS_WALKCR
+161	12	12	20		// LEGS_WALK
+173	9	9	18		// LEGS_RUN
+182	10	10	20		// LEGS_BACK
+192	10	10	15		// LEGS_SWIM
+
+202	8	0	15		// LEGS_JUMP
+210	1	0	15		// LEGS_LAND
+
+211	8	0	15		// LEGS_JUMPB
+219	1	0	15		// LEGS_LANDB
+
+220	10	10	15		// LEGS_IDLE
+230	10	10	15		// LEGS_IDLECR
+
+240	7	7	15		// LEGS_TURN

+ 1 - 1
Examples/Demos/specialsFX/Atmosphere/AtmosphereC.cbproj

@@ -184,7 +184,7 @@
             <BuildOrder>0</BuildOrder>
         </CppCompile>
         <CppCompile Include="fAtmosphereC.cpp">
-            <Form>Form1</Form>
+            <Form>FormAtmosphere</Form>
             <FormType>dfm</FormType>
             <DependentOn>fAtmosphereC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/specialsFX/Atmosphere/AtmosphereC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fAtmosphereC.cpp", Form1);
+USEFORM("fAtmosphereC.cpp", FormAtmosphere);
 //---------------------------------------------------------------------------
 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(TFormAtmosphere), &FormAtmosphere);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 14 - 14
Examples/Demos/specialsFX/Atmosphere/fAtmosphereC.cpp

@@ -20,15 +20,15 @@
 
 
 #pragma resource "*.dfm"
-TForm1 *Form1;
+TFormAtmosphere *FormAtmosphere;
 
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
+__fastcall TFormAtmosphere::TFormAtmosphere(TComponent* Owner)
 	: TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject *Sender)
+void __fastcall TFormAtmosphere::FormCreate(TObject *Sender)
 {
   Atmosphere = (TGLAtmosphere *)(GLDummyCube1->AddNewChild(__classid(TGLAtmosphere)));
   Atmosphere->Sun  = GLLensFlare1;
@@ -37,62 +37,62 @@ void __fastcall TForm1::FormCreate(TObject *Sender)
   GLSkyDome1->Stars->AddRandomStars(5000, ConvertColorVector(clrWhite));
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
+void __fastcall TFormAtmosphere::FormClose(TObject *Sender, TCloseAction &Action)
 {
   Atmosphere->Free();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::btnRotateClick(TObject *Sender)
+void __fastcall TFormAtmosphere::ButtonRotateClick(TObject *Sender)
 {
   GLCadencer1->Enabled = !GLCadencer1->Enabled;
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::Button2Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button2Click(TObject *Sender)
 {
   GLLensFlare1->Slide(0.8);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Button3Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button3Click(TObject *Sender)
 {
   GLLensFlare1->Slide(-0.8);
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::Button4Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button4Click(TObject *Sender)
 {
   GLDummyCube1->Slide(-0.5);
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::Button5Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button5Click(TObject *Sender)
 {
   GLDummyCube1->Slide(0.5);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::btnShowAtmosphereClick(TObject *Sender)
+void __fastcall TFormAtmosphere::btnShowAtmosphereClick(TObject *Sender)
 {
   Atmosphere->Visible = !Atmosphere->Visible;
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::Button8Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button8Click(TObject *Sender)
 {
   Atmosphere->TogleBlendingMode();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Button10Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button10Click(TObject *Sender)
 {
   GLCamera1->AdjustDistanceToTarget(1.1);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Button9Click(TObject *Sender)
+void __fastcall TFormAtmosphere::Button9Click(TObject *Sender)
 {
   GLCamera1->AdjustDistanceToTarget((float)1 / 1.1);
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
+void __fastcall TFormAtmosphere::GLCadencer1Progress(TObject *Sender, const double deltaTime,
 		  const double newTime)
 {
   Planet->Turn(deltaTime *20);

+ 4 - 3
Examples/Demos/specialsFX/Atmosphere/fAtmosphereC.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormAtmosphere: TFormAtmosphere
   Left = 0
   Top = 0
   Caption = 'Atmosphere'
@@ -61,14 +61,14 @@ object Form1: TForm1
       Height = 13
       Caption = ' = turn camera'
     end
-    object btnRotate: TButton
+    object ButtonRotate: TButton
       Left = 13
       Top = 15
       Width = 74
       Height = 25
       Caption = 'Rotate Planet'
       TabOrder = 0
-      OnClick = btnRotateClick
+      OnClick = ButtonRotateClick
     end
     object Button4: TButton
       Left = 13
@@ -186,6 +186,7 @@ object Form1: TForm1
       object Not_a_Planet: TGLSphere
         Material.FrontProperties.Diffuse.Color = {E6E5653F8F8E8E3ECDCC4C3F0000803F}
         Position.Coordinates = {0000000000007041000000C00000803F}
+        Visible = False
         Radius = 3.000000000000000000
       end
       object GLDummyCube1: TGLDummyCube

+ 5 - 5
Examples/Demos/specialsFX/Atmosphere/fAtmosphereC.h

@@ -28,7 +28,7 @@
 #include "GLS.Color.hpp"
 
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormAtmosphere : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *GLSceneViewer1;
@@ -37,7 +37,7 @@ __published:	// IDE-managed Components
 	TLabel *Label2;
 	TLabel *Label3;
 	TLabel *Label4;
-	TButton *btnRotate;
+	TButton *ButtonRotate;
 	TButton *Button4;
 	TButton *Button5;
 	TButton *Button2;
@@ -60,7 +60,7 @@ __published:	// IDE-managed Components
 	TButton *btnShowAtmosphere;
 	void __fastcall FormCreate(TObject *Sender);
 	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
-	void __fastcall btnRotateClick(TObject *Sender);
+	void __fastcall ButtonRotateClick(TObject *Sender);
 	void __fastcall Button2Click(TObject *Sender);
 	void __fastcall Button3Click(TObject *Sender);
 	void __fastcall Button4Click(TObject *Sender);
@@ -74,9 +74,9 @@ __published:	// IDE-managed Components
 private:	// User declarations
 	TGLAtmosphere *Atmosphere;
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormAtmosphere(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormAtmosphere *FormAtmosphere;
 //---------------------------------------------------------------------------
 #endif

+ 67 - 129
Examples/Demos/specialsFX/Atmosphere/fAtmosphereD.dfm

@@ -1,170 +1,120 @@
 object FormAtmosphere: TFormAtmosphere
   Left = 244
   Top = 109
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Atmosphere'
-  ClientHeight = 831
-  ClientWidth = 1390
+  ClientHeight = 680
+  ClientWidth = 925
   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
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
-    Left = 268
+    Left = 153
     Top = 0
-    Width = 1122
-    Height = 831
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 772
+    Height = 680
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 171.740570068359400000
+    FieldOfView = 169.915100097656300000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
+    ExplicitWidth = 641
+    ExplicitHeight = 475
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 268
-    Height = 831
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 153
+    Height = 680
     Align = alLeft
     TabOrder = 1
+    ExplicitHeight = 450
     object Label1: TLabel
-      Left = 23
-      Top = 644
-      Width = 74
-      Height = 24
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 368
+      Width = 41
+      Height = 13
       Caption = 'Controls:'
     end
     object Label2: TLabel
-      Left = 23
-      Top = 677
-      Width = 186
-      Height = 24
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 387
+      Width = 103
+      Height = 13
       Caption = 'Mouse Wheel = zoom'
     end
     object Label3: TLabel
-      Left = 23
-      Top = 711
-      Width = 213
-      Height = 24
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 406
+      Width = 120
+      Height = 13
       Caption = 'Hold Mouse and Move = '
     end
     object Label4: TLabel
-      Left = 33
-      Top = 744
-      Width = 121
-      Height = 24
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 19
+      Top = 425
+      Width = 68
+      Height = 13
       Caption = ' = turn camera'
     end
-    object Button1: TButton
-      Left = 23
-      Top = 26
-      Width = 129
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+    object ButtonRotate: TButton
+      Left = 13
+      Top = 15
+      Width = 74
+      Height = 25
       Caption = 'Rotate Planet'
       TabOrder = 0
-      OnClick = Button1Click
+      OnClick = ButtonRotateClick
     end
     object Button4: TButton
-      Left = 23
-      Top = 81
-      Width = 189
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 46
+      Width = 108
+      Height = 25
       Caption = 'Move Planet Right'
       TabOrder = 1
       OnClick = Button4Click
     end
     object Button5: TButton
-      Left = 23
-      Top = 137
-      Width = 189
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 78
+      Width = 108
+      Height = 24
       Caption = 'Move Planet Left'
       TabOrder = 2
       OnClick = Button5Click
     end
     object Button2: TButton
-      Left = 23
-      Top = 191
-      Width = 154
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 109
+      Width = 88
+      Height = 25
       Caption = 'Move Sun Right'
       TabOrder = 3
       OnClick = Button2Click
     end
     object Button3: TButton
-      Left = 23
-      Top = 245
-      Width = 154
-      Height = 44
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 140
+      Width = 88
+      Height = 25
       Caption = 'Move Sun Left'
       TabOrder = 4
       OnClick = Button3Click
     end
     object Button9: TButton
-      Left = 19
-      Top = 299
-      Width = 95
-      Height = 44
+      Left = 11
+      Top = 171
+      Width = 54
+      Height = 25
       Hint = 'Mouse Wheel Can change zoom too'
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
       Caption = 'Zoom in'
       ParentShowHint = False
       ShowHint = True
@@ -172,15 +122,11 @@ object FormAtmosphere: TFormAtmosphere
       OnClick = Button9Click
     end
     object Button10: TButton
-      Left = 133
-      Top = 299
-      Width = 102
-      Height = 44
+      Left = 76
+      Top = 171
+      Width = 58
+      Height = 25
       Hint = 'Mouse Wheel Can change zoom too'
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
       Caption = 'Zoom out'
       ParentShowHint = False
       ShowHint = True
@@ -188,27 +134,19 @@ object FormAtmosphere: TFormAtmosphere
       OnClick = Button10Click
     end
     object Button8: TButton
-      Left = 18
-      Top = 588
-      Width = 213
-      Height = 46
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 10
+      Top = 336
+      Width = 122
+      Height = 26
       Caption = 'Change Blending Mode'
       TabOrder = 7
       OnClick = Button8Click
     end
     object rgAtmosphere: TRadioGroup
-      Left = 18
-      Top = 382
-      Width = 217
-      Height = 180
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 10
+      Top = 218
+      Width = 124
+      Height = 103
       Caption = 'Atmosphere'
       ItemIndex = 0
       Items.Strings = (

+ 3 - 4
Examples/Demos/specialsFX/Atmosphere/fAtmosphereD.pas

@@ -43,7 +43,7 @@ type
     GLSimpleNavigation1: TGLSimpleNavigation;
     World: TGLDummyCube;
     Panel1: TPanel;
-    Button1: TButton;
+    ButtonRotate: TButton;
     Button4: TButton;
     Button5: TButton;
     Button2: TButton;
@@ -70,7 +70,7 @@ type
     procedure GLCadencer1Progress(Sender: TObject; const deltaTime,
       newTime: Double);
     procedure rgAtmosphereClick(Sender: TObject);
-    procedure Button1Click(Sender: TObject);
+    procedure ButtonRotateClick(Sender: TObject);
   private
     AtmosphereLower:  TGLAtmosphere;
   end;
@@ -119,8 +119,7 @@ begin
    end;
 end;
 
-
-procedure TFormAtmosphere.Button1Click(Sender: TObject);
+procedure TFormAtmosphere.ButtonRotateClick(Sender: TObject);
 begin
   GLCadencer1.Enabled := not GLCadencer1.Enabled;
 end;

+ 1 - 1
Examples/Demos/specialsFX/boom/BoomC.cbproj

@@ -177,7 +177,7 @@
             <BuildOrder>0</BuildOrder>
         </CppCompile>
         <CppCompile Include="fBoomC.cpp">
-            <Form>Form1</Form>
+            <Form>FormBoom</Form>
             <FormType>dfm</FormType>
             <DependentOn>fBoomC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/specialsFX/boom/BoomC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fBoomC.cpp", Form1);
+USEFORM("fBoomC.cpp", FormBoom);
 //---------------------------------------------------------------------------
 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(TFormBoom), &FormBoom);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 2 - 2
Examples/Demos/specialsFX/boom/BoomD.dpr

@@ -22,12 +22,12 @@ program BoomD;
 
 uses
   Forms,
-  fBoomD in 'fBoomD.pas' {Form1};
+  fBoomD in 'fBoomD.pas' {FormBoom};
 
 {$R *.RES}
 
 begin
   Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFormBoom, FormBoom);
   Application.Run;
 end.

+ 1 - 1
Examples/Demos/specialsFX/boom/BoomD.dproj

@@ -128,7 +128,7 @@
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
         <DCCReference Include="fBoomD.pas">
-            <Form>Form1</Form>
+            <Form>FormBoom</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>

+ 8 - 8
Examples/Demos/specialsFX/boom/fBoomC.cpp

@@ -16,11 +16,11 @@
 #pragma link "GLS.Scene"
 #pragma link "GLS.SceneViewer"
 #pragma resource "*.dfm"
-TForm1* Form1;
+TFormBoom* FormBoom;
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {}
+__fastcall TFormBoom::TFormBoom(TComponent* Owner) : TForm(Owner) {}
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Button1Click(TObject* Sender)
+void __fastcall TFormBoom::Button1Click(TObject* Sender)
 {
     // A button click triggers the small animation sequence
     // first, we enabled the cadencer, to get Progression events
@@ -39,7 +39,7 @@ void __fastcall TForm1::Button1Click(TObject* Sender)
     SmokeFX->FireInit();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLCadencer1Progress(
+void __fastcall TFormBoom::GLCadencer1Progress(
     TObject* Sender, const double deltaTime, const double newTime)
 {
     // have we exploded yet?
@@ -69,7 +69,7 @@ void __fastcall TForm1::GLCadencer1Progress(
         Button1Click(this);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Timer1Timer(TObject* Sender)
+void __fastcall TFormBoom::Timer1Timer(TObject* Sender)
 {
     // standard issue framerate & particle count update
     Caption =
@@ -79,13 +79,13 @@ void __fastcall TForm1::Timer1Timer(TObject* Sender)
     GLSceneViewer1->ResetPerformanceMonitor();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormResize(TObject* Sender)
+void __fastcall TFormBoom::FormResize(TObject* Sender)
 {
     // take care of zooming if window is resize
     GLCamera1->FocalLength = Width * 0.1;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseMove(
+void __fastcall TFormBoom::GLSceneViewer1MouseMove(
     TObject* Sender, TShiftState Shift, int X, int Y)
 {
     if (Shift.Contains(ssLeft) || Shift.Contains(ssRight)) {
@@ -97,7 +97,7 @@ void __fastcall TForm1::GLSceneViewer1MouseMove(
     }
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseDown(
+void __fastcall TFormBoom::GLSceneViewer1MouseDown(
     TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
 {
     mx = X;

+ 1 - 2
Examples/Demos/specialsFX/boom/fBoomC.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormBoom: TFormBoom
   Left = 0
   Top = 0
   Caption = 'Boom'
@@ -11,7 +11,6 @@ object Form1: TForm1
   Font.Name = 'Tahoma'
   Font.Style = []
   OnResize = FormResize
-  PixelsPerInch = 96
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0

+ 3 - 3
Examples/Demos/specialsFX/boom/fBoomC.h

@@ -21,7 +21,7 @@
 #include "GLS.Scene.hpp"
 #include "GLS.SceneViewer.hpp"
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormBoom : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *GLSceneViewer1;
@@ -48,9 +48,9 @@ __published:	// IDE-managed Components
 private:	// User declarations
 	int mx, my;
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormBoom(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormBoom *FormBoom;
 //---------------------------------------------------------------------------
 #endif

+ 1 - 2
Examples/Demos/specialsFX/boom/fBoomD.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormBoom: TFormBoom
   Left = 155
   Top = 94
   Caption = 'Boom'
@@ -26,7 +26,6 @@ object Form1: TForm1
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
-    ExplicitHeight = 383
   end
   object Button1: TButton
     Left = 16

+ 8 - 8
Examples/Demos/specialsFX/boom/fBoomD.pas

@@ -26,7 +26,7 @@ uses
   GLS.BaseClasses;
 
 type
-  TForm1 = class(TForm)
+  TFormBoom = class(TForm)
     GLSceneViewer1: TGLSceneViewer;
     GLScene1: TGLScene;
     GLCamera1: TGLCamera;
@@ -53,13 +53,13 @@ type
   end;
 
 var
-  Form1: TForm1;
+  FormBoom: TFormBoom;
 
 implementation
 
 {$R *.DFM}
 
-procedure TForm1.Button1Click(Sender: TObject);
+procedure TFormBoom.Button1Click(Sender: TObject);
 begin
   // A button click triggers the small animation sequence
   // first, we enabled the cadencer, to get Progression events
@@ -77,7 +77,7 @@ begin
   SmokeFX.FireInit;
 end;
 
-procedure TForm1.GLCadencer1Progress(Sender: TObject;
+procedure TFormBoom.GLCadencer1Progress(Sender: TObject;
   const deltaTime, newTime: Double);
 begin
   // have we exploded yet?
@@ -109,7 +109,7 @@ begin
     Button1Click(Self);
 end;
 
-procedure TForm1.Timer1Timer(Sender: TObject);
+procedure TFormBoom.Timer1Timer(Sender: TObject);
 begin
   // standard issue framerate & particle count update
   Caption := 'Boom - ' + Format('%.1f FPS - %d Particles',
@@ -118,20 +118,20 @@ begin
   GLSceneViewer1.ResetPerformanceMonitor;
 end;
 
-procedure TForm1.FormResize(Sender: TObject);
+procedure TFormBoom.FormResize(Sender: TObject);
 begin
   // take care of zooming if window is resize
   GLCamera1.FocalLength := Width * 0.1;
 end;
 
-procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
+procedure TFormBoom.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
   mx := X;
   my := Y;
 end;
 
-procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
+procedure TFormBoom.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
   X, Y: Integer);
 begin
   if Shift <> [] then

+ 1 - 1
Examples/Demos/specialsFX/candles/CandlesC.cbproj

@@ -177,7 +177,7 @@
             <BuildOrder>0</BuildOrder>
         </CppCompile>
         <CppCompile Include="fCandlesC.cpp">
-            <Form>Form1</Form>
+            <Form>FormCandles</Form>
             <FormType>dfm</FormType>
             <DependentOn>fCandlesC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/specialsFX/candles/CandlesC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fCandlesC.cpp", Form1);
+USEFORM("fCandlesC.cpp", FormCandles);
 //---------------------------------------------------------------------------
 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(TFormCandles), &FormCandles);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 7 - 7
Examples/Demos/specialsFX/candles/fCandlesC.cpp

@@ -19,31 +19,31 @@
 #pragma link "GLS.SceneViewer"
 #pragma resource "*.dfm"
 
-TForm1 *Form1;
+TFormCandles *FormCandles;
 int mx,my;
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
+__fastcall TFormCandles::TFormCandles(TComponent* Owner)
 	: TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormResize(TObject *Sender)
+void __fastcall TFormCandles::FormResize(TObject *Sender)
 {
    GLCamera1->FocalLength = Height/3;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button,
+void __fastcall TFormCandles::GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button,
 		  TShiftState Shift, int X, int Y)
 {
   mx = X; my = Y;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar1Change(TObject *Sender)
+void __fastcall TFormCandles::TrackBar1Change(TObject *Sender)
 {
   GLFireFXManager1->FireDir->Z = -TrackBar1->Position*0.1;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
+void __fastcall TFormCandles::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
 		  int X, int Y)
 {
   if (Shift.Contains(ssLeft) || Shift.Contains(ssRight)) // if (Shift <> [])
@@ -55,7 +55,7 @@ void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shi
 
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Timer1Timer(TObject *Sender)
+void __fastcall TFormCandles::Timer1Timer(TObject *Sender)
 {
    int n;
 

+ 12 - 10
Examples/Demos/specialsFX/candles/fCandlesC.dfm

@@ -1,39 +1,39 @@
-object Form1: TForm1
+object FormCandles: TFormCandles
   Left = 0
   Top = 0
   Caption = 'GLScene Candles'
-  ClientHeight = 364
-  ClientWidth = 478
+  ClientHeight = 519
+  ClientWidth = 670
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
-  OldCreateOrder = False
   Position = poScreenCenter
   WindowState = wsMaximized
   OnResize = FormResize
-  PixelsPerInch = 96
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 478
-    Height = 335
+    Width = 670
+    Height = 490
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 118.324333190918000000
+    FieldOfView = 135.593048095703100000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 479
+    ExplicitHeight = 335
   end
   object TrackBar1: TTrackBar
     Left = 0
-    Top = 335
-    Width = 478
+    Top = 490
+    Width = 670
     Height = 29
     Hint = 'Wind'
     Align = alBottom
@@ -44,6 +44,8 @@ object Form1: TForm1
     ShowHint = True
     TabOrder = 1
     OnChange = TrackBar1Change
+    ExplicitTop = 335
+    ExplicitWidth = 478
   end
   object GLScene1: TGLScene
     Left = 32

+ 3 - 3
Examples/Demos/specialsFX/candles/fCandlesC.h

@@ -20,7 +20,7 @@
 #include <Vcl.ComCtrls.hpp>
 #include <Vcl.ExtCtrls.hpp>
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormCandles : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *GLSceneViewer1;
@@ -49,9 +49,9 @@ __published:	// IDE-managed Components
 
 private:	// User declarations
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormCandles(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormCandles *FormCandles;
 //---------------------------------------------------------------------------
 #endif

+ 9 - 6
Examples/Demos/specialsFX/candles/fCandlesD.dfm

@@ -2,8 +2,8 @@ object FormCandles: TFormCandles
   Left = 229
   Top = 109
   Caption = 'Candles'
-  ClientHeight = 325
-  ClientWidth = 442
+  ClientHeight = 533
+  ClientWidth = 650
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -16,21 +16,23 @@ object FormCandles: TFormCandles
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 29
-    Width = 442
-    Height = 296
+    Width = 650
+    Height = 504
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 111.908126831054700000
+    FieldOfView = 136.711135864257800000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 443
+    ExplicitHeight = 296
   end
   object TrackBar1: TTrackBar
     Left = 0
     Top = 0
-    Width = 442
+    Width = 650
     Height = 29
     Hint = 'Wind'
     Align = alTop
@@ -41,6 +43,7 @@ object FormCandles: TFormCandles
     ShowHint = True
     TabOrder = 1
     OnChange = TrackBar1Change
+    ExplicitWidth = 434
   end
   object GLScene1: TGLScene
     Left = 32

+ 1 - 1
Examples/Demos/specialsFX/fire/FireC.cbproj

@@ -174,7 +174,7 @@
     </PropertyGroup>
     <ItemGroup>
         <CppCompile Include="fFireC.cpp">
-            <Form>Form1</Form>
+            <Form>FormFire</Form>
             <FormType>dfm</FormType>
             <DependentOn>fFireC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/specialsFX/fire/FireC.cpp

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

+ 6 - 6
Examples/Demos/specialsFX/fire/fFireC.cpp

@@ -17,27 +17,27 @@
 #pragma link "GLS.Scene"
 #pragma link "GLS.SceneViewer"
 #pragma resource "*.dfm"
-TForm1 *Form1;
+TFormFire *FormFire;
 int mx,my;
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
+__fastcall TFormFire::TFormFire(TComponent* Owner)
 	: TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormMouseWheel(TObject *Sender, TShiftState Shift, int WheelDelta,
+void __fastcall TFormFire::FormMouseWheel(TObject *Sender, TShiftState Shift, int WheelDelta,
 		  TPoint &MousePos, bool &Handled)
 {
  GLCamera1->AdjustDistanceToTarget(System::Math::Power(1.1, WheelDelta/120));
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Timer1Timer(TObject *Sender)
+void __fastcall TFormFire::Timer1Timer(TObject *Sender)
 {
   Caption = "GLS.Scene Fire - "+ Format("%.1f FPS", ARRAYOFCONST((GLSceneViewer1->FramesPerSecond())));
   GLSceneViewer1->ResetPerformanceMonitor();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
+void __fastcall TFormFire::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
           int X, int Y)
 {
   if (Shift.Contains(ssLeft))
@@ -46,7 +46,7 @@ void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shi
    my = Y;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button,
+void __fastcall TFormFire::GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button,
           TShiftState Shift, int X, int Y)
 {
    mx = X; my = Y;

+ 8 - 8
Examples/Demos/specialsFX/fire/fFireC.dfm

@@ -1,32 +1,32 @@
-object Form1: TForm1
+object FormFire: TFormFire
   Left = 0
   Top = 0
   Caption = 'Fire'
-  ClientHeight = 300
-  ClientWidth = 427
+  ClientHeight = 504
+  ClientWidth = 673
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
-  OldCreateOrder = False
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 96
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 427
-    Height = 300
+    Width = 673
+    Height = 504
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 143.130096435546900000
+    FieldOfView = 157.555084228515600000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 428
+    ExplicitHeight = 300
   end
   object GLScene1: TGLScene
     ObjectsSorting = osNone

+ 3 - 3
Examples/Demos/specialsFX/fire/fFireC.h

@@ -19,7 +19,7 @@
 #include "GLS.SceneViewer.hpp"
 #include <Vcl.ExtCtrls.hpp>
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormFire : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *GLSceneViewer1;
@@ -40,9 +40,9 @@ __published:	// IDE-managed Components
           int X, int Y);
 private:	// User declarations
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormFire(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormFire *FormFire;
 //---------------------------------------------------------------------------
 #endif

+ 13 - 12
Examples/Demos/specialsFX/fire/fFireD.dfm

@@ -1,36 +1,37 @@
 object FormFire: TFormFire
   Left = 228
   Top = 98
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
   BorderWidth = 3
   Caption = 'GLScene Fire'
-  ClientHeight = 434
-  ClientWidth = 540
+  ClientHeight = 569
+  ClientWidth = 686
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 540
-    Height = 434
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 686
+    Height = 569
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 154.049331665039100000
+    FieldOfView = 160.064468383789100000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 430
+    ExplicitHeight = 348
   end
   object GLScene1: TGLScene
     ObjectsSorting = osNone

+ 1 - 1
Examples/Demos/specialsFX/meshexplosion/MeshExplosionC.cbproj

@@ -174,7 +174,7 @@
     </PropertyGroup>
     <ItemGroup>
         <CppCompile Include="fMeshExplosionC.cpp">
-            <Form>Form1</Form>
+            <Form>FormMeshExplosion</Form>
             <FormType>dfm</FormType>
             <DependentOn>fMeshExplosionC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/specialsFX/meshexplosion/MeshExplosionC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fMeshExplosionC.cpp", Form1);
+USEFORM("fMeshExplosionC.cpp", FormMeshExplosion);
 //---------------------------------------------------------------------------
 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(TFormMeshExplosion), &FormMeshExplosion);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 10 - 10
Examples/Demos/specialsFX/meshexplosion/fMeshExplosionC.cpp

@@ -18,14 +18,14 @@
 
 
 #pragma resource "*.dfm"
-TForm1 *Form1;
+TFormMeshExplosion *FormMeshExplosion;
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
+__fastcall TFormMeshExplosion::TFormMeshExplosion(TComponent* Owner)
 	: TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject *Sender)
+void __fastcall TFormMeshExplosion::FormCreate(TObject *Sender)
 {
   TFileName Path = GetCurrentAssetPath();
   SetCurrentDir(Path  + "\\model");
@@ -41,13 +41,13 @@ void __fastcall TForm1::FormCreate(TObject *Sender)
 
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::CheckOnClick(TObject *Sender)
+void __fastcall TFormMeshExplosion::CheckOnClick(TObject *Sender)
 {
   //turn on/off
   expl->Enabled = CheckOn->Checked;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Button1Click(TObject *Sender)
+void __fastcall TFormMeshExplosion::Button1Click(TObject *Sender)
 {
    //reset simulation
    expl->Reset();
@@ -58,7 +58,7 @@ void __fastcall TForm1::Button1Click(TObject *Sender)
 
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::ViewerMouseMove(TObject *Sender, TShiftState Shift, int X,
+void __fastcall TFormMeshExplosion::ViewerMouseMove(TObject *Sender, TShiftState Shift, int X,
           int Y)
 {
 	 if (Shift.Contains(ssLeft))
@@ -69,13 +69,13 @@ void __fastcall TForm1::ViewerMouseMove(TObject *Sender, TShiftState Shift, int
 
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::ViewerMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
+void __fastcall TFormMeshExplosion::ViewerMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
           int X, int Y)
 {
      vx = X; vy = Y;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
+void __fastcall TFormMeshExplosion::GLCadencer1Progress(TObject *Sender, const double deltaTime,
           const double newTime)
 {
 	 Viewer->Invalidate();
@@ -83,12 +83,12 @@ void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaT
 
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::SpeedBarChange(TObject *Sender)
+void __fastcall TFormMeshExplosion::SpeedBarChange(TObject *Sender)
 {
    expl->Speed = (float) SpeedBar->Position / 10;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::MaxStepsBarChange(TObject *Sender)
+void __fastcall TFormMeshExplosion::MaxStepsBarChange(TObject *Sender)
 {
   expl->MaxSteps = MaxStepsBar->Position;
   StepBar->Max = MaxStepsBar->Position;

+ 12 - 8
Examples/Demos/specialsFX/meshexplosion/fMeshExplosionC.dfm

@@ -1,9 +1,9 @@
-object Form1: TForm1
+object FormMeshExplosion: TFormMeshExplosion
   Left = 0
   Top = 0
   Caption = 'Mesh Explosion'
-  ClientHeight = 421
-  ClientWidth = 588
+  ClientHeight = 541
+  ClientWidth = 716
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -16,25 +16,29 @@ object Form1: TForm1
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 588
-    Height = 324
+    Width = 716
+    Height = 444
     Camera = Camera1
     Buffer.BackgroundColor = clBackground
-    FieldOfView = 145.695159912109400000
+    FieldOfView = 154.614669799804700000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
     OnMouseMove = ViewerMouseMove
     TabOrder = 0
+    ExplicitWidth = 588
+    ExplicitHeight = 325
   end
   object Panel1: TPanel
     Left = 0
-    Top = 324
-    Width = 588
+    Top = 444
+    Width = 716
     Height = 97
     Align = alBottom
     BevelOuter = bvNone
     TabOrder = 1
+    ExplicitTop = 324
+    ExplicitWidth = 588
     object Label2: TLabel
       Left = 8
       Top = 56

+ 3 - 3
Examples/Demos/specialsFX/meshexplosion/fMeshExplosionC.h

@@ -21,7 +21,7 @@
 #include "GLS.VectorFileObjects.hpp"
 
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormMeshExplosion : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *Viewer;
@@ -55,9 +55,9 @@ private:	// User declarations
 	TGLMeshObjectList *Cache;
 	TGLBExplosionFX *expl;
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormMeshExplosion(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormMeshExplosion *FormMeshExplosion;
 //---------------------------------------------------------------------------
 #endif

+ 11 - 7
Examples/Demos/specialsFX/meshexplosion/fMeshExplosionD.dfm

@@ -2,8 +2,8 @@ object FormMeshExplosion: TFormMeshExplosion
   Left = 174
   Top = 93
   Caption = 'Mesh Explosion'
-  ClientHeight = 418
-  ClientWidth = 574
+  ClientHeight = 547
+  ClientWidth = 759
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -16,25 +16,29 @@ object FormMeshExplosion: TFormMeshExplosion
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 574
-    Height = 321
+    Width = 759
+    Height = 450
     Camera = Camera1
     Buffer.BackgroundColor = clBackground
-    FieldOfView = 145.393615722656300000
+    FieldOfView = 154.942382812500000000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
     OnMouseMove = ViewerMouseMove
     TabOrder = 0
+    ExplicitWidth = 574
+    ExplicitHeight = 322
   end
   object Panel1: TPanel
     Left = 0
-    Top = 321
-    Width = 574
+    Top = 450
+    Width = 759
     Height = 97
     Align = alBottom
     BevelOuter = bvNone
     TabOrder = 1
+    ExplicitTop = 296
+    ExplicitWidth = 566
     object Label2: TLabel
       Left = 8
       Top = 56

+ 1 - 1
Examples/Demos/specialsFX/motionblur/MotionBlurC.cbproj

@@ -174,7 +174,7 @@
     </PropertyGroup>
     <ItemGroup>
         <CppCompile Include="fMotionBlurC.cpp">
-            <Form>Form1</Form>
+            <Form>FormMotionBlur</Form>
             <FormType>dfm</FormType>
             <DependentOn>fMotionBlurC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/specialsFX/motionblur/MotionBlurC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fMotionBlurC.cpp", Form1);
+USEFORM("fMotionBlurC.cpp", FormMotionBlur);
 //---------------------------------------------------------------------------
 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(TFormMotionBlur), &FormMotionBlur);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 10 - 10
Examples/Demos/specialsFX/motionblur/fMotionBlurC.cpp

@@ -19,27 +19,27 @@
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.VectorFileObjects"
 #pragma resource "*.dfm"
-TForm1 *Form1;
+TFormMotionBlur *FormMotionBlur;
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
+__fastcall TFormMotionBlur::TFormMotionBlur(TComponent* Owner)
 	: TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject *Sender)
+void __fastcall TFormMotionBlur::FormCreate(TObject *Sender)
 {
    Frames = 5;
    HUD->Material->FrontProperties->Diffuse->Alpha = 1.0 - (float)1.00/Frames;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewerPostRender(TObject *Sender)
+void __fastcall TFormMotionBlur::GLSceneViewerPostRender(TObject *Sender)
 {
    // render is done, we transfer it to our hud plane so it can be used
    // in the next frame
    GLSceneViewer->Buffer->CopyToTexture(HUD->Material->Texture);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormResize(TObject *Sender)
+void __fastcall TFormMotionBlur::FormResize(TObject *Sender)
 {
    int w, h;
 
@@ -65,7 +65,7 @@ void __fastcall TForm1::FormResize(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
+void __fastcall TFormMotionBlur::GLCadencer1Progress(TObject *Sender, const double deltaTime,
           const double newTime)
 {
    // make things move
@@ -74,7 +74,7 @@ void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaT
    Dodecahedron->RollAngle = newTime*15;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
+void __fastcall TFormMotionBlur::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
 
 {
    // turn on/off VSync, this has an obvious impact on framerate,
@@ -101,14 +101,14 @@ void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shif
 
 // standard issue camera movement
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewerMouseDown(TObject *Sender, TMouseButton Button,
+void __fastcall TFormMotionBlur::GLSceneViewerMouseDown(TObject *Sender, TMouseButton Button,
 		  TShiftState Shift, int X, int Y)
 {
  mx = X; my = Y;
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLSceneViewerMouseMove(TObject *Sender, TShiftState Shift,
+void __fastcall TFormMotionBlur::GLSceneViewerMouseMove(TObject *Sender, TShiftState Shift,
           int X, int Y)
 {
    if (Shift.Contains(ssLeft))
@@ -118,7 +118,7 @@ void __fastcall TForm1::GLSceneViewerMouseMove(TObject *Sender, TShiftState Shif
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::Timer1Timer(TObject *Sender)
+void __fastcall TFormMotionBlur::Timer1Timer(TObject *Sender)
 {
 //  const String  cVSync[vsmSync][vsmNoSync] = {"VSync ON", "VSync OFF"};
   Panel1->Caption = Format("Motion Blur on %d Frames %f FPS",

+ 1 - 3
Examples/Demos/specialsFX/motionblur/fMotionBlurC.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormMotionBlur: TFormMotionBlur
   Left = 0
   Top = 0
   BorderIcons = [biSystemMenu, biMinimize]
@@ -11,12 +11,10 @@ object Form1: TForm1
   Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
-  OldCreateOrder = False
   Position = poScreenCenter
   OnCreate = FormCreate
   OnKeyDown = FormKeyDown
   OnResize = FormResize
-  PixelsPerInch = 96
   TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
     Left = 0

+ 3 - 3
Examples/Demos/specialsFX/motionblur/fMotionBlurC.h

@@ -21,7 +21,7 @@
 #include "Stage.Keyboard.hpp"
 #include "GLS.VectorFileObjects.hpp"
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormMotionBlur : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *GLSceneViewer;
@@ -51,9 +51,9 @@ private:	// User declarations
 	int Frames;
 	int mx, my;
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormMotionBlur(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormMotionBlur *FormMotionBlur;
 //---------------------------------------------------------------------------
 #endif

+ 18 - 19
Examples/Demos/specialsFX/motionblur/fMotionBlurD.dfm

@@ -1,54 +1,53 @@
 object FormMotionBlur: TFormMotionBlur
   Left = 153
   Top = 28
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
   BorderIcons = [biSystemMenu, biMinimize]
   Caption = 'Motion Blur'
-  ClientHeight = 603
-  ClientWidth = 636
+  ClientHeight = 550
+  ClientWidth = 644
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
   OnKeyDown = FormKeyDown
   OnResize = FormResize
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 636
-    Height = 559
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 644
+    Height = 515
     Camera = Camera
     VSync = vsmSync
     PostRender = GLSceneViewerPostRender
     Buffer.BackgroundColor = clNavy
-    FieldOfView = 159.715179443359400000
+    FieldOfView = 158.022705078125000000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewerMouseDown
     OnMouseMove = GLSceneViewerMouseMove
     TabOrder = 0
+    ExplicitWidth = 508
+    ExplicitHeight = 447
   end
   object Panel1: TPanel
     Left = 0
-    Top = 559
-    Width = 636
-    Height = 44
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Top = 515
+    Width = 644
+    Height = 35
     Align = alBottom
     Caption = 'FPS'
     TabOrder = 1
+    ExplicitTop = 422
+    ExplicitWidth = 499
   end
   object GLScene1: TGLScene
     ObjectsSorting = osNone

+ 3 - 2
Examples/Demos/specialsFX/posteffect/fPostEffectC.cpp

@@ -17,7 +17,8 @@
 #pragma link "GLS.SimpleNavigation"
 #pragma link "GLS.VectorFileObjects"
 #pragma link "GLS.SceneViewer"
-#pragma link "GLSL.PostEffects"  // old #pragma link "GLPostEffects"
+#pragma link "GLSL.PostEffects"
+#pragma link "GLS.FileMD2"
 #pragma resource "*.dfm"
 TMainForm *MainForm;
 //---------------------------------------------------------------------------
@@ -45,7 +46,7 @@ void __fastcall TMainForm::FormCreate(TObject *Sender)
 ///  GLActor1->SwitchToAnimation(GLActor1->Animations[0]);
 
   GLActor1->AnimationMode = aamLoop;
-///  GLActor1->ObjectStyle = GLActor1->ObjectStyle + [osDirectDraw];
+  //GLActor1->ObjectStyle = GLActor1->ObjectStyle + [osDirectDraw];
   GLActor1->Reference = aarMorph;
 }
 //---------------------------------------------------------------------------

+ 28 - 47
Examples/Demos/specialsFX/posteffect/fPostEffectC.dfm

@@ -1,65 +1,48 @@
 object MainForm: TMainForm
   Left = 0
   Top = 0
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Post Effect'
-  ClientHeight = 595
-  ClientWidth = 968
+  ClientHeight = 501
+  ClientWidth = 723
   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 Label1: TLabel
-    Left = 964
-    Top = 58
-    Width = 4
-    Height = 537
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Left = 720
+    Top = 33
+    Width = 3
+    Height = 468
     Align = alRight
     AutoSize = False
+    ExplicitLeft = 546
+    ExplicitHeight = 307
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 968
-    Height = 58
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 723
+    Height = 33
     Align = alTop
     TabOrder = 0
+    ExplicitWidth = 549
     object Label2: TLabel
-      Left = 14
-      Top = 18
-      Width = 82
-      Height = 23
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 10
+      Width = 50
+      Height = 13
       Caption = 'PostEffect'
     end
     object ComboBox1: TComboBox
-      Left = 112
-      Top = 11
-      Width = 254
+      Left = 64
+      Top = 6
+      Width = 145
       Height = 21
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
       Style = csDropDownList
       ItemIndex = 0
       TabOrder = 0
@@ -78,19 +61,17 @@ object MainForm: TMainForm
   end
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
-    Top = 58
-    Width = 964
-    Height = 537
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 33
+    Width = 720
+    Height = 468
     Camera = GLCamera1
-    Buffer.BackgroundColor = 16776176
-    FieldOfView = 158.902450561523400000
+    Buffer.BackgroundColor = clTeal
+    FieldOfView = 155.877380371093800000
     PenAsTouch = False
     Align = alClient
     TabOrder = 1
+    ExplicitWidth = 546
+    ExplicitHeight = 308
   end
   object GLScene1: TGLScene
     Left = 32

+ 5 - 1
Examples/Demos/specialsFX/posteffect/fPostEffectC.h

@@ -8,6 +8,8 @@
 #include <Vcl.Controls.hpp>
 #include <Vcl.StdCtrls.hpp>
 #include <Vcl.Forms.hpp>
+#include <Vcl.ExtCtrls.hpp>
+
 #include "GLS.BaseClasses.hpp"
 #include "GLS.Cadencer.hpp"
 #include "GLS.Coordinates.hpp"
@@ -17,8 +19,10 @@
 #include "GLS.SimpleNavigation.hpp"
 #include "GLS.VectorFileObjects.hpp"
 #include "GLS.SceneViewer.hpp"
-#include <Vcl.ExtCtrls.hpp>
+#include "GLS.FileMD2.hpp"
 #include "GLSL.PostEffects.hpp"
+
+
 //---------------------------------------------------------------------------
 class TMainForm : public TForm
 {

+ 23 - 47
Examples/Demos/specialsFX/posteffect/fPostEffectD.dfm

@@ -1,68 +1,48 @@
 object FormPostEffect: TFormPostEffect
   Left = 278
   Top = 272
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   BorderWidth = 2
   Caption = 'Post Effect'
-  ClientHeight = 910
-  ClientWidth = 1386
+  ClientHeight = 520
+  ClientWidth = 787
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   ShowHint = True
   OnCreate = FormCreate
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object Label1: TLabel
-    Left = 1383
-    Top = 58
-    Width = 3
-    Height = 852
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Left = 786
+    Top = 33
+    Width = 1
+    Height = 487
     Align = alRight
     AutoSize = False
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 1386
-    Height = 58
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 787
+    Height = 33
     Align = alTop
     TabOrder = 0
+    ExplicitWidth = 779
     object Label2: TLabel
-      Left = 14
-      Top = 18
-      Width = 82
-      Height = 24
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 8
+      Top = 10
+      Width = 49
+      Height = 13
       Caption = 'PostEffect'
     end
     object ComboBox1: TComboBox
-      Left = 112
-      Top = 11
-      Width = 254
-      Height = 32
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 64
+      Top = 6
+      Width = 145
+      Height = 21
       Style = csDropDownList
       ItemIndex = 0
       TabOrder = 0
@@ -81,16 +61,12 @@ object FormPostEffect: TFormPostEffect
   end
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
-    Top = 58
-    Width = 1383
-    Height = 852
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 33
+    Width = 786
+    Height = 487
     Camera = GLCamera1
     Buffer.BackgroundColor = clTeal
-    FieldOfView = 166.611541748046900000
+    FieldOfView = 156.792495727539100000
     PenAsTouch = False
     Align = alClient
     TabOrder = 1

+ 0 - 4
Examples/Demos/specialsFX/posteffect/fPostEffectD.pas

@@ -62,10 +62,6 @@ type
     procedure GLPostEffect1CustomEffect(Sender: TObject;
       var rci: TGLRenderContextInfo; var Buffer: TGLPostEffectBuffer);
   private
-     
-  public
-     
-
   end;
 
 var

+ 1 - 1
Examples/Demos/specialsFX/waterplane/WaterPlaneC.cbproj

@@ -191,7 +191,7 @@
     <ItemGroup>
         <CppCompile Include="fWaterPlaneC.cpp">
             <BuildOrder>2</BuildOrder>
-            <Form>Form1</Form>
+            <Form>FormWaterPlane</Form>
             <DependentOn>fWaterPlaneC.h</DependentOn>
             <BuildOrder>0</BuildOrder>
         </CppCompile>

+ 2 - 2
Examples/Demos/specialsFX/waterplane/WaterPlaneC.cpp

@@ -2,14 +2,14 @@
 
 #include <vcl.h>
 #pragma hdrstop
-USEFORM("fWaterPlaneC.cpp", Form1);
+USEFORM("fWaterPlaneC.cpp", FormWaterPlane);
 //---------------------------------------------------------------------------
 WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
 {
         try
         {
                  Application->Initialize();
-                 Application->CreateForm(__classid(TForm1), &Form1);
+                 Application->CreateForm(__classid(TFormWaterPlane), &FormWaterPlane);
 		Application->Run();
         }
         catch (Exception &exception)

+ 13 - 13
Examples/Demos/specialsFX/waterplane/fWaterPlaneC.cpp

@@ -11,9 +11,9 @@
 #pragma link "GLSL.UserShader"
 #pragma resource "*.dfm"
 
-TForm1 *Form1;
+TFormWaterPlane *FormWaterPlane;
 
-void TForm1::ClickWater(int x, int y)
+void TFormWaterPlane::ClickWater(int x, int y)
 {
   TGLVector ip;
   // create a ripple in the pond on a right-mousebutton click
@@ -25,14 +25,14 @@ void TForm1::ClickWater(int x, int y)
 }
 
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent * Owner):TForm(Owner)
+__fastcall TFormWaterPlane::TFormWaterPlane(TComponent * Owner):TForm(Owner)
 {
   TFileName Path = GetCurrentAssetPath();
+  SetCurrentDir(Path  + "\\texture");
   GLWaterPlane1->Mask->LoadFromFile("basinMask.bmp");
   GLHeightField1->Material->Texture->Image->LoadFromFile("clover.jpg");
 
-  TFileName PathCM = GetCurrentDir() + "\\cubemap";
-  SetCurrentDir(PathCM);
+  SetCurrentDir(Path  + "\\cubemap");
 
   // Load the cube map which is used both for environment and as reflection texture
   TGLTexture *t = GLMaterialLibrary1->Materials->Items[0]->Material->Texture;
@@ -52,7 +52,7 @@ __fastcall TForm1::TForm1(TComponent * Owner):TForm(Owner)
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLSceneViewer1MouseDown(TObject * Sender,
+void __fastcall TFormWaterPlane::GLSceneViewer1MouseDown(TObject * Sender,
                                                 TMouseButton Button,
                                                 TShiftState Shift, int X, int Y)
 {
@@ -64,7 +64,7 @@ void __fastcall TForm1::GLSceneViewer1MouseDown(TObject * Sender,
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLSceneViewer1MouseMove(TObject * Sender,
+void __fastcall TFormWaterPlane::GLSceneViewer1MouseMove(TObject * Sender,
                                                 TShiftState Shift, int X, int Y)
 {
   if(Shift.Contains(ssLeft))
@@ -84,7 +84,7 @@ void __fastcall TForm1::GLSceneViewer1MouseMove(TObject * Sender,
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLUserShader1DoApply(TObject * Sender,
+void __fastcall TFormWaterPlane::GLUserShader1DoApply(TObject * Sender,
                                              TGLRenderContextInfo & rci)
 {
   // Here is the shader trick: the same cubemap is used in reflection mode
@@ -111,7 +111,7 @@ void __fastcall TForm1::GLUserShader1DoApply(TObject * Sender,
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLUserShader1DoUnApply(TObject * Sender, int Pass,
+void __fastcall TFormWaterPlane::GLUserShader1DoUnApply(TObject * Sender, int Pass,
 											   TGLRenderContextInfo & rci,
 											   bool & Continue)
 {
@@ -120,14 +120,14 @@ void __fastcall TForm1::GLUserShader1DoUnApply(TObject * Sender, int Pass,
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLSceneViewer1BeforeRender(TObject * Sender)
+void __fastcall TFormWaterPlane::GLSceneViewer1BeforeRender(TObject * Sender)
 {
   reflectionToggle = false;     // toggle for environment sphere
 }
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLDirectOpenGL1Render(TObject * Sender,
+void __fastcall TFormWaterPlane::GLDirectOpenGL1Render(TObject * Sender,
 											  TGLRenderContextInfo & rci)
 {
   reflectionToggle = true;      // toggle for pond/water plane
@@ -136,7 +136,7 @@ void __fastcall TForm1::GLDirectOpenGL1Render(TObject * Sender,
 //---------------------------------------------------------------------------
 
 
-void __fastcall TForm1::GLCadencer1Progress(TObject * Sender,
+void __fastcall TFormWaterPlane::GLCadencer1Progress(TObject * Sender,
                                             const double deltaTime,
                                             const double newTime)
 {
@@ -145,7 +145,7 @@ void __fastcall TForm1::GLCadencer1Progress(TObject * Sender,
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::GLHeightField1GetHeight(const float x,
+void __fastcall TFormWaterPlane::GLHeightField1GetHeight(const float x,
                                                 const float y, float &z,
                                                 TVector4f & color,
                                                 TTexPoint & texPoint)

+ 8 - 8
Examples/Demos/specialsFX/waterplane/fWaterPlaneC.dfm

@@ -1,25 +1,26 @@
-object Form1: TForm1
+object FormWaterPlane: TFormWaterPlane
   Left = 169
   Top = 106
   Caption = 'Water Plane'
-  ClientHeight = 331
-  ClientWidth = 536
+  ClientHeight = 476
+  ClientWidth = 631
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
+  Position = poScreenCenter
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 536
-    Height = 331
+    Width = 631
+    Height = 476
     Camera = GLCamera1
     BeforeRender = GLSceneViewer1BeforeRender
     Buffer.FaceCulling = False
-    FieldOfView = 159.451248168945300000
+    FieldOfView = 165.631469726562500000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
@@ -60,12 +61,11 @@ object Form1: TForm1
       YSamplingScale.Min = -63.000000000000000000
       YSamplingScale.Max = 63.000000000000000000
       YSamplingScale.Step = 2.000000000000000000
-      OnGetHeight = GLHeightField1GetHeight
     end
     object GLWaterPlane1: TGLWaterPlane
       Material.MaterialLibrary = GLMaterialLibrary1
       Material.LibMaterialName = 'CubeMap'
-      Position.Coordinates = {00000000000080BF000000000000803F}
+      Position.Coordinates = {00000000000000BF000000000000803F}
       Scale.Coordinates = {000070410000803F0000704100000000}
       RainForce = 5000.000000000000000000
       Viscosity = 0.990000009536743200

+ 3 - 3
Examples/Demos/specialsFX/waterplane/fWaterPlaneC.h

@@ -29,7 +29,7 @@
 
 
 //---------------------------------------------------------------------------
-class TForm1:public TForm
+class TFormWaterPlane:public TForm
 {
 __published:                   // IDE-managed Components
   TGLScene * GLScene1;
@@ -66,14 +66,14 @@ __published:                   // IDE-managed Components
                                           TTexPoint & texPoint);
 private:                       // User declarations
 public:                        // User declarations
-    __fastcall TForm1(TComponent * Owner);
+    __fastcall TFormWaterPlane(TComponent * Owner);
 
   int mx, my;
   bool reflectionToggle;
   void ClickWater(int x, int y);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormWaterPlane *FormWaterPlane;
 //---------------------------------------------------------------------------
 #endif
  

+ 14 - 12
Examples/Demos/specialsFX/waterplane/fWaterPlaneD.dfm

@@ -1,35 +1,37 @@
 object FormWaterPlane: TFormWaterPlane
   Left = 169
   Top = 106
+  Margins.Left = 2
+  Margins.Top = 2
+  Margins.Right = 2
+  Margins.Bottom = 2
   Caption = 'Water Plane'
-  ClientHeight = 506
-  ClientWidth = 695
+  ClientHeight = 507
+  ClientWidth = 683
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
+  Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 695
-    Height = 506
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 683
+    Height = 507
     Camera = GLCamera1
     BeforeRender = GLSceneViewer1BeforeRender
     Buffer.FaceCulling = False
-    FieldOfView = 166.475219726562500000
+    FieldOfView = 166.501647949218800000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     TabOrder = 0
+    ExplicitWidth = 555
+    ExplicitHeight = 405
   end
   object GLScene1: TGLScene
     Left = 16

+ 11 - 11
Examples/Demos/specialsFX/waterplane/fWaterPlaneD.pas

@@ -81,17 +81,6 @@ implementation
 
 {$R *.dfm}
 
-procedure TFormWaterPlane.ClickWater(X, Y: Integer);
-var
-  ip: TGLVector;
-begin
-  // create a ripple in the pond on a right-mousebutton click
-
-  GLSceneViewer1.Buffer.ScreenVectorIntersectWithPlaneXZ
-    (VectorMake(X, GLSceneViewer1.Height - Y, 0), GLWaterPlane1.Position.Y, ip);
-  GLWaterPlane1.CreateRippleAtWorldPos(ip);
-end;
-
 procedure TFormWaterPlane.FormCreate(Sender: TObject);
 begin
   var Path: TFileName := GetCurrentAssetPath();
@@ -121,6 +110,17 @@ begin
 
 end;
 
+procedure TFormWaterPlane.ClickWater(X, Y: Integer);
+var
+  ip: TGLVector;
+begin
+  // create a ripple in the pond on a right-mousebutton click
+
+  GLSceneViewer1.Buffer.ScreenVectorIntersectWithPlaneXZ
+    (VectorMake(X, GLSceneViewer1.Height - Y, 0), GLWaterPlane1.Position.Y, ip);
+  GLWaterPlane1.CreateRippleAtWorldPos(ip);
+end;
+
 procedure TFormWaterPlane.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin

TEMPAT SAMPAH
Examples/Demox/Island/Island.dres


+ 5 - 0
Examples/Demox/Island/IslandResource.rc

@@ -0,0 +1,5 @@
+heightmap128 RCDATA "heightmap128.jpg"
+heightmap256 RCDATA "heightmap256.jpg"
+heightmap32 RCDATA "heightmap32.jpg"
+heightmap512 RCDATA "heightmap512.jpg"
+heightmap64 RCDATA "heightmap64.jpg"

TEMPAT SAMPAH
Examples/Demox/Joystickplayer/Joystickplayer.dres


+ 4 - 0
Examples/Demox/Joystickplayer/JoystickplayerResource.rc

@@ -0,0 +1,4 @@
+heightmap256 RCDATA "ileVolcan256b.png"
+heightmap32 RCDATA "ileVolcan32b.png"
+heightmap64 RCDATA "ileVolcan64b.png"
+PngImage_1 RCDATA "ileVolcan128b.png"

+ 1 - 0
Sourcex/GBE.PlaneExtend.pas

@@ -14,6 +14,7 @@ uses
   System.Generics.Collections,
   System.Threading,
   System.Math.Vectors,
+  System.RTLConsts,
 
   FMX.Types,
   FMX.Controls3D,