ソースを参照

Added gxsyshelp

glscene 1 年間 前
コミット
6462bcaaac
100 ファイル変更3023 行追加1286 行削除
  1. 1 1
      Examples/AdvDemos/ActorMS3D/fActorMS3dC.dfm
  2. 31 64
      Examples/AdvDemos/ActorMS3D/fActorms3dD.dfm
  3. 1 1
      Examples/AdvDemos/ActorMS3D/fActorms3dD.pas
  4. 1 1
      Examples/AdvDemos/Archipelago/Splitter/fSplitterD.pas
  5. 1 1
      Examples/AdvDemos/Archipelago/fArchipelagoC.h
  6. 1 1
      Examples/AdvDemos/Archipelago/fArchipelagoD.pas
  7. 7 16
      Examples/AdvDemos/Forest/fForestD.dfm
  8. 4 6
      Examples/AdvDemos/Forest/fForestD.pas
  9. 46 81
      Examples/AdvDemos/GLSViewer/Source/fGLSViewer.dfm
  10. 2 2
      Examples/AdvDemos/GLSViewer/Source/fGLSViewer.pas
  11. 1 1
      Examples/AdvDemos/IntensityMesh/fIntensityMeshD.pas
  12. 72 0
      Examples/Democ.groupproj
  13. 3 51
      Examples/Demos.groupproj
  14. 1 1
      Examples/Demos/behaviours/FPSMovement/fFPSMovementC.h
  15. 1 1
      Examples/Demos/behaviours/FPSMovement/fFPSMovementD.pas
  16. 1 1
      Examples/Demos/collisions/TriangleBox/fTriangleBoxD.pas
  17. 1 1
      Examples/Demos/collisions/facevsface/fFacevsFaceD.pas
  18. 1 1
      Examples/Demos/collisions/octree/fOctreeD.pas
  19. 1 1
      Examples/Demos/glslshaders/FurShader/fFurShaderD.pas
  20. 1 1
      Examples/Demos/glslshaders/Ocean/fOceanD.pas
  21. 1 1
      Examples/Demos/glslshaders/ShaderComponent/fShaderCompD.pas
  22. 1 1
      Examples/Demos/glslshaders/ShadersLab/fShaderLabD.pas
  23. 1 1
      Examples/Demos/graph/points/fPointsD.pas
  24. 1 1
      Examples/Demos/graph/projection/fProjectionD.pas
  25. 3 3
      Examples/Demos/interface/Console/fConsoleC.dfm
  26. 1 1
      Examples/Demos/meshes/ducky/fDuckyD.pas
  27. 1 1
      Examples/Demos/meshes/subdivide/fSubdivideD.pas
  28. 1 1
      Examples/Demos/physics/NewtonWalkShoot/fNGDWalkShootD.pas
  29. 1 1
      Examples/Demos/physics/OdeClothify/fOdeClothifyD.pas
  30. 7 7
      Examples/Demos/rendering/fullscreen/fFullScreenC.dfm
  31. 1 1
      Examples/Demos/specialsFX/posteffect/fPostEffectD.pas
  32. 1 1
      Examples/Demos/specialsFX/shadowvolumes/fShadowVolumesD.pas
  33. 1 1
      Examples/Demos/sprites/imposters/fImpostersD.pas
  34. 330 339
      Help/GLSysHelp/GLSysHelp.pds
  35. BIN
      Help/GLSysHelp/HTML/GLSysHelp.chm
  36. 0 2
      Help/GLSysHelp/HTML/_Readme.txt
  37. 2 9
      Help/GLSysHelp/IntroGLS.txt
  38. 4 4
      Help/GLSysHelp/ReadGLS.txt
  39. 0 1
      Help/GLSysHelp/_CleanHTML.cmd
  40. 96 0
      Help/GXSysHelp/GXSysHelp.css
  41. 384 0
      Help/GXSysHelp/GXSysHelp.pds
  42. BIN
      Help/GXSysHelp/HTML/GXSysHelp.chm
  43. 96 0
      Help/GXSysHelp/HTML/pasdoc.css
  44. 18 0
      Help/GXSysHelp/IntroGXS.txt
  45. 10 0
      Help/GXSysHelp/ReadGXS.txt
  46. 8 0
      Help/GXSysHelp/_CleanHTML.cmd
  47. 0 16
      Help/License.txt
  48. 2 2
      Packages/GLScene_RT.dpk
  49. 1 1
      Packages/GLScene_RT.dproj
  50. 2 2
      Packages/GXScene_RT.dpk
  51. 2 2
      Packages/GXScene_RT.dproj
  52. 10 10
      Source/GLS.Behaviours.pas
  53. 4 4
      Source/GLS.BumpmapHDS.pas
  54. 2 2
      Source/GLS.CgShader.pas
  55. 78 78
      Source/GLS.Coordinates.pas
  56. 1 1
      Source/GLS.CurvesAndSurfaces.pas
  57. 15 15
      Source/GLS.DCE.pas
  58. 6 6
      Source/GLS.EParticleMasksManager.pas
  59. 5 5
      Source/GLS.ExplosionFx.pas
  60. 4 4
      Source/GLS.Feedback.pas
  61. 21 21
      Source/GLS.File3DSSceneObjects.pas
  62. 9 9
      Source/GLS.FireFX.pas
  63. 5 5
      Source/GLS.Gizmo.pas
  64. 9 9
      Source/GLS.Gui.pas
  65. 5 5
      Source/GLS.Imposter.pas
  66. 9 9
      Source/GLS.Material.pas
  67. 41 41
      Source/GLS.MaterialEx.pas
  68. 2 2
      Source/GLS.MaterialScript.pas
  69. 1 1
      Source/GLS.MeshLines.pas
  70. 3 3
      Source/GLS.MultiPolygon.pas
  71. 55 55
      Source/GLS.NGDManager.pas
  72. 5 5
      Source/GLS.Navigator.pas
  73. 3 3
      Source/GLS.Nodes.pas
  74. 63 63
      Source/GLS.ODEManager.pas
  75. 14 14
      Source/GLS.Objects.pas
  76. 1 1
      Source/GLS.ParametricSurfaces.pas
  77. 21 21
      Source/GLS.ParticleFX.pas
  78. 5 5
      Source/GLS.PhysFields.pas
  79. 10 10
      Source/GLS.PhysForces.pas
  80. 10 10
      Source/GLS.PhysInertias.pas
  81. 2 2
      Source/GLS.RandomHDS.pas
  82. 34 34
      Source/GLS.Scene.pas
  83. 3 3
      Source/GLS.SceneRegister.pas
  84. 10 10
      Source/GLS.ShadowHDS.pas
  85. 5 5
      Source/GLS.Silhouette.pas
  86. 10 10
      Source/GLS.SmoothNavigator.pas
  87. 37 37
      Source/GLS.Texture.pas
  88. 9 9
      Source/GLS.ThorFX.pas
  89. 35 35
      Source/GLS.VectorFileObjects.pas
  90. 27 27
      Source/GLS.VectorLists.pas
  91. 15 15
      Source/GLSL.ShapeShaders.pas
  92. 10 10
      Source/GLSL.TextureShaders.pas
  93. 1 0
      Source/GLScene.AnimationUtils.pas
  94. 3 3
      Sourcex/FMxInfo.fmx
  95. 921 0
      Sourcex/Formatx.VRML.pas
  96. 13 13
      Sourcex/GXS.BSP.pas
  97. 18 18
      Sourcex/GXS.BumpMapping.pas
  98. 4 4
      Sourcex/GXS.CgShader.pas
  99. 2 2
      Sourcex/GXS.Collision.pas
  100. 293 0
      Sourcex/GXS.CurvesAndSurfaces.pas

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

@@ -93,7 +93,7 @@ object Form1: TForm1
       Left = 228
       Top = 26
       Width = 386
-      Height = 21
+      Height = 31
       Margins.Left = 7
       Margins.Top = 7
       Margins.Right = 7

+ 31 - 64
Examples/AdvDemos/ActorMS3D/fActorms3dD.dfm

@@ -1,40 +1,31 @@
 object FormActorms3d: TFormActorms3d
   Left = 332
   Top = 110
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Actor MS3D Animation'
-  ClientHeight = 1250
-  ClientWidth = 1799
+  ClientHeight = 714
+  ClientWidth = 1028
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
   Position = poScreenCenter
   OnCloseQuery = FormCloseQuery
   OnCreate = FormCreate
   OnShow = FormShow
-  PixelsPerInch = 168
-  TextHeight = 23
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
-    Top = 114
-    Width = 1799
-    Height = 1136
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 65
+    Width = 1028
+    Height = 649
     Camera = GLCamera1
     Buffer.BackgroundColor = 3618615
     Buffer.AmbientColor.Color = {0000803F0000803F0000803F0000803F}
     Buffer.AntiAliasing = aa4xHQ
     Buffer.ShadeModel = smSmooth
-    FieldOfView = 156.141357421875000000
+    FieldOfView = 139.411239624023400000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
@@ -42,62 +33,43 @@ object FormActorms3d: TFormActorms3d
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 1799
-    Height = 114
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 1028
+    Height = 65
     Align = alTop
     TabOrder = 1
+    ExplicitWidth = 1020
     object Button2: TButton
-      Left = 523
-      Top = 18
-      Width = 132
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 299
+      Top = 10
+      Width = 75
+      Height = 25
       Caption = 'Next Frame'
       TabOrder = 0
       OnClick = Button2Click
     end
     object btnStartStop: TButton
-      Left = 23
-      Top = 18
-      Width = 131
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 10
+      Width = 75
+      Height = 25
       Caption = 'Start'
       TabOrder = 1
       OnClick = btnStartStopClick
     end
     object Button4: TButton
-      Left = 1517
-      Top = 18
-      Width = 132
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 867
+      Top = 10
+      Width = 75
+      Height = 25
       Caption = 'Previous'
       TabOrder = 2
       OnClick = Button4Click
     end
     object aniBox: TComboBox
-      Left = 182
-      Top = 21
-      Width = 310
-      Height = 31
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 104
+      Top = 12
+      Width = 177
+      Height = 21
       Style = csDropDownList
       TabOrder = 3
       OnSelect = aniBoxSelect
@@ -111,17 +83,12 @@ object FormActorms3d: TFormActorms3d
         'Sit')
     end
     object aniPos: TTrackBar
-      Left = 679
-      Top = 21
-      Width = 828
-      Height = 51
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 388
+      Top = 12
+      Width = 473
+      Height = 29
       Enabled = False
       TabOrder = 4
-      ThumbLength = 35
       OnChange = aniPosChange
     end
   end

+ 1 - 1
Examples/AdvDemos/ActorMS3D/fActorms3dD.pas

@@ -20,7 +20,7 @@ uses
   GLScene.Utils,
 
   GLScene.PipelineTransform,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.SceneViewer,
   GLS.BaseClasses,

+ 1 - 1
Examples/AdvDemos/Archipelago/Splitter/fSplitterD.pas

@@ -45,7 +45,7 @@ implementation
 {$R *.dfm}
 
 uses
-  GLScene.VectorLists;
+  GLS.VectorLists;
 
 procedure TForm1.Button1Click(Sender: TObject);
 var

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

@@ -31,7 +31,7 @@
 #include "GLS.SkyDome.hpp"
 #include "GLS.TerrainRenderer.hpp"
 
-#include "GLScene.VectorLists.hpp"
+#include "GLS.VectorLists.hpp"
 #include "GLScene.VectorTypes.hpp"
 #include "GLScene.VectorGeometry.hpp"
 #include "GLS.VectorFileObjects.hpp"

+ 1 - 1
Examples/AdvDemos/Archipelago/fArchipelagoD.pas

@@ -19,7 +19,7 @@ uses
 
   GLS.Coordinates,
   GLS.BaseClasses,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorTypes,
   GLScene.VectorGeometry,
   GLScene.XCollection,

+ 7 - 16
Examples/AdvDemos/Forest/fForestD.dfm

@@ -1,18 +1,14 @@
 object Form1: TForm1
   Left = 541
   Top = 166
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   BorderStyle = bsNone
   Caption = 'Form1'
-  ClientHeight = 800
-  ClientWidth = 1069
+  ClientHeight = 457
+  ClientWidth = 611
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   WindowState = wsMaximized
@@ -22,17 +18,12 @@ object Form1: TForm1
   OnKeyDown = FormKeyDown
   OnResize = FormResize
   OnShow = FormShow
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object SceneViewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 1069
-    Height = 800
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 611
+    Height = 457
     Camera = Camera
     Buffer.FogEnvironment.FogColor.Color = {9CC4403FFED4583F48E17A3F0000803F}
     Buffer.FogEnvironment.FogStart = 3500.000000000000000000
@@ -42,7 +33,7 @@ object Form1: TForm1
     Buffer.FogEnable = True
     Buffer.Lighting = False
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 165.749969482421900000
+    FieldOfView = 155.314346313476600000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0

+ 4 - 6
Examples/AdvDemos/Forest/fForestD.pas

@@ -20,7 +20,7 @@ uses
   GLScene.VectorTypes,
   GLScene.VectorGeometry,
   GLScene.XCollection,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.PersistentClasses,
   GLS.BaseClasses,
   GLScene.TextureFormat,
@@ -112,7 +112,7 @@ type
     Path: TFileName;
     TestTree: TGLTree;
     TreesShown: Integer;
-    nearTrees: TGLPersistentObjectList;
+    nearTrees: TGPersistentObjectList;
     Imposter: TImposter;
     densityBitmap: TBitmap;
     mirrorTexture: TGLTextureHandle;
@@ -126,9 +126,7 @@ type
 var
   Form1: TForm1;
 
-// -----------------------------------------------
-implementation
-// -----------------------------------------------
+implementation // ------------------------------------------------------------
 
 {$R *.dfm}
 
@@ -218,7 +216,7 @@ begin
   SetCursorPos(lmp.X, lmp.Y);
   ShowCursor(False);
 
-  nearTrees := TGLPersistentObjectList.Create;
+  nearTrees := TGPersistentObjectList.Create;
 
   camTurn := -60;
   enableRectReflection := False;

+ 46 - 81
Examples/AdvDemos/GLSViewer/Source/fGLSViewer.dfm

@@ -1,17 +1,13 @@
 object FormGLSViewer: TFormGLSViewer
   Left = 188
   Top = 87
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'GLSViewer'
-  ClientHeight = 837
-  ClientWidth = 1223
+  ClientHeight = 702
+  ClientWidth = 1080
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Icon.Data = {
@@ -133,51 +129,44 @@ object FormGLSViewer: TFormGLSViewer
   ShowHint = True
   OnCreate = FormCreate
   OnShow = FormShow
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object StatusBar: TStatusBar
     Left = 0
-    Top = 803
-    Width = 1223
-    Height = 34
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 683
+    Width = 1080
+    Height = 19
     Panels = <
       item
         Text = 'X'
-        Width = 88
+        Width = 50
       end
       item
         Text = 'Y'
-        Width = 88
+        Width = 50
       end
       item
         Text = 'Z'
-        Width = 88
+        Width = 50
       end
       item
         Text = 'Model'
-        Width = 70
+        Width = 40
       end>
+    ExplicitTop = 459
+    ExplicitWidth = 699
   end
   object snViewer: TGLSceneViewer
-    Left = 267
-    Top = 97
-    Width = 956
-    Height = 706
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Left = 273
+    Top = 56
+    Width = 807
+    Height = 627
     Camera = Camera
     BeforeRender = snViewerBeforeRender
     AfterRender = snViewerAfterRender
     Buffer.BackgroundColor = clBlack
     Buffer.ContextOptions = [roDoubleBuffer, roRenderToWindow, roTwoSideLighting]
     Buffer.FaceCulling = False
-    FieldOfView = 163.876159667968800000
+    FieldOfView = 161.876480102539100000
     PenAsTouch = False
     OnMouseLeave = snViewerMouseLeave
     Align = alClient
@@ -187,25 +176,17 @@ object FormGLSViewer: TFormGLSViewer
   end
   object ControlBar: TControlBar
     Left = 0
-    Top = 46
-    Width = 1223
-    Height = 51
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 27
+    Width = 1080
+    Height = 29
     Align = alTop
-    RowSize = 46
     TabOrder = 2
+    ExplicitWidth = 699
     object atbTools: TActionToolBar
-      Left = 580
+      Left = 357
       Top = 2
-      Width = 113
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 65
+      Height = 22
       ActionManager = ActionManager
       Caption = 'Tools'
       Color = clMenuBar
@@ -215,21 +196,17 @@ object FormGLSViewer: TFormGLSViewer
       ColorMap.UnusedColor = clWhite
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlack
-      Font.Height = -23
+      Font.Height = -13
       Font.Name = 'Tahoma'
       Font.Style = []
       ParentFont = False
       Spacing = 0
     end
     object atbView: TActionToolBar
-      Left = 176
+      Left = 118
       Top = 2
-      Width = 383
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 218
+      Height = 22
       ActionManager = ActionManager
       Caption = 'View'
       Color = clMenuBar
@@ -239,7 +216,7 @@ object FormGLSViewer: TFormGLSViewer
       ColorMap.UnusedColor = clWhite
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlack
-      Font.Height = -23
+      Font.Height = -13
       Font.Name = 'Tahoma'
       Font.Style = []
       ParentFont = False
@@ -248,12 +225,8 @@ object FormGLSViewer: TFormGLSViewer
     object atbFile: TActionToolBar
       Left = 19
       Top = 2
-      Width = 136
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 78
+      Height = 22
       ActionManager = ActionManager
       Caption = 'File'
       Color = clMenuBar
@@ -263,7 +236,7 @@ object FormGLSViewer: TFormGLSViewer
       ColorMap.UnusedColor = clWhite
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlack
-      Font.Height = -23
+      Font.Height = -13
       Font.Name = 'Tahoma'
       Font.Style = []
       ParentFont = False
@@ -275,12 +248,8 @@ object FormGLSViewer: TFormGLSViewer
   object amMenuBar: TActionMainMenuBar
     Left = 0
     Top = 0
-    Width = 1223
-    Height = 46
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 1080
+    Height = 27
     UseSystemFont = False
     ActionManager = ActionManager
     Caption = 'ActionMainMenuBar'
@@ -291,35 +260,28 @@ object FormGLSViewer: TFormGLSViewer
     ColorMap.UnusedColor = clWhite
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clBlack
-    Font.Height = -19
+    Font.Height = -11
     Font.Name = 'MS Sans Serif'
     Font.Style = []
     Spacing = 0
+    ExplicitWidth = 699
   end
   object PanelLeft: TPanel
     Left = 0
-    Top = 97
-    Width = 267
-    Height = 706
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 56
+    Width = 273
+    Height = 627
     Align = alLeft
     TabOrder = 4
     object tvScene: TTreeView
       Left = 1
       Top = 1
-      Width = 265
-      Height = 704
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 271
+      Height = 625
       Align = alClient
       CheckStyles = [csDimmed]
       Images = dmImages.ImageListGLS
-      Indent = 33
+      Indent = 19
       ParentShowHint = False
       ShowHint = True
       TabOrder = 0
@@ -519,6 +481,9 @@ object FormGLSViewer: TFormGLSViewer
         6D0070007500740069006E0067000000410000005E0000005E000000FFFFFFFF
         FFFFFFFF0000000000000000000000000001114300550044004100470065006E
         006500720061007400650064004D00650073006800}
+      ExplicitLeft = -4
+      ExplicitTop = 3
+      ExplicitWidth = 151
     end
   end
   object Scene: TGLScene

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

@@ -37,7 +37,7 @@ uses
   Vcl.ImageCollection,
 
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.Keyboard,
   GLScene.VectorGeometry,
   GLS.Coordinates,
@@ -910,7 +910,7 @@ var
   I: Integer;
   mo: TGLMeshObject;
   fg: TFGVertexIndexList;
-  strips: TGLPersistentObjectList;
+  strips: TGPersistentObjectList;
 begin
   acConvertToTriangles.Execute;
   mo := ffObject.MeshObjects[0];

+ 1 - 1
Examples/AdvDemos/IntensityMesh/fIntensityMeshD.pas

@@ -18,7 +18,7 @@ uses
   GLS.Scene,
   GLScene.VectorTypes,
   GLS.VectorFileObjects,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.SceneViewer,
   GLS.Mesh,
   GLS.Texture,

+ 72 - 0
Examples/Democ.groupproj

@@ -0,0 +1,72 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <ProjectGuid>{47BA3ACE-A42B-4A10-B874-31EE04DA77DE}</ProjectGuid>
+    </PropertyGroup>
+    <ItemGroup>
+        <Projects Include="Demos\bench\BenchC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="Demos\movements\MovementsC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="Demos\extrusion\ExtrusionC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="Demos\graph\GraphC.cbproj">
+            <Dependencies/>
+        </Projects>
+    </ItemGroup>
+    <ProjectExtensions>
+        <Borland.Personality>Default.Personality.12</Borland.Personality>
+        <Borland.ProjectType/>
+        <BorlandProject>
+            <Default.Personality/>
+        </BorlandProject>
+    </ProjectExtensions>
+    <Target Name="BenchC">
+        <MSBuild Projects="Demos\bench\BenchC.cbproj"/>
+    </Target>
+    <Target Name="BenchC:Clean">
+        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="BenchC:Make">
+        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="MovementsC">
+        <MSBuild Projects="Demos\movements\MovementsC.cbproj"/>
+    </Target>
+    <Target Name="MovementsC:Clean">
+        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="MovementsC:Make">
+        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="ExtrusionC">
+        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj"/>
+    </Target>
+    <Target Name="ExtrusionC:Clean">
+        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="ExtrusionC:Make">
+        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="GraphC">
+        <MSBuild Projects="Demos\graph\GraphC.cbproj"/>
+    </Target>
+    <Target Name="GraphC:Clean">
+        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="GraphC:Make">
+        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="Build">
+        <CallTarget Targets="BenchC;MovementsC;ExtrusionC;GraphC"/>
+    </Target>
+    <Target Name="Clean">
+        <CallTarget Targets="BenchC:Clean;MovementsC:Clean;ExtrusionC:Clean;GraphC:Clean"/>
+    </Target>
+    <Target Name="Make">
+        <CallTarget Targets="BenchC:Make;MovementsC:Make;ExtrusionC:Make;GraphC:Make"/>
+    </Target>
+    <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
+</Project>

+ 3 - 51
Examples/Demos.groupproj

@@ -6,27 +6,15 @@
         <Projects Include="Demos\bench\BenchD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="Demos\bench\BenchC.cbproj">
-            <Dependencies/>
-        </Projects>
         <Projects Include="Demos\movements\MovementsD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="Demos\movements\MovementsC.cbproj">
-            <Dependencies/>
-        </Projects>
         <Projects Include="Demos\extrusion\ExtrusionD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="Demos\extrusion\ExtrusionC.cbproj">
-            <Dependencies/>
-        </Projects>
         <Projects Include="Demos\graph\GraphD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="Demos\graph\GraphC.cbproj">
-            <Dependencies/>
-        </Projects>
     </ItemGroup>
     <ProjectExtensions>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -44,15 +32,6 @@
     <Target Name="BenchD:Make">
         <MSBuild Projects="Demos\bench\BenchD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="BenchC">
-        <MSBuild Projects="Demos\bench\BenchC.cbproj"/>
-    </Target>
-    <Target Name="BenchC:Clean">
-        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="BenchC:Make">
-        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="MovementsD">
         <MSBuild Projects="Demos\movements\MovementsD.dproj"/>
     </Target>
@@ -62,15 +41,6 @@
     <Target Name="MovementsD:Make">
         <MSBuild Projects="Demos\movements\MovementsD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="MovementsC">
-        <MSBuild Projects="Demos\movements\MovementsC.cbproj"/>
-    </Target>
-    <Target Name="MovementsC:Clean">
-        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="MovementsC:Make">
-        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="ExtrusionD">
         <MSBuild Projects="Demos\extrusion\ExtrusionD.dproj"/>
     </Target>
@@ -80,15 +50,6 @@
     <Target Name="ExtrusionD:Make">
         <MSBuild Projects="Demos\extrusion\ExtrusionD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="ExtrusionC">
-        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj"/>
-    </Target>
-    <Target Name="ExtrusionC:Clean">
-        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="ExtrusionC:Make">
-        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="GraphD">
         <MSBuild Projects="Demos\graph\GraphD.dproj"/>
     </Target>
@@ -98,23 +59,14 @@
     <Target Name="GraphD:Make">
         <MSBuild Projects="Demos\graph\GraphD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="GraphC">
-        <MSBuild Projects="Demos\graph\GraphC.cbproj"/>
-    </Target>
-    <Target Name="GraphC:Clean">
-        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="GraphC:Make">
-        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="Build">
-        <CallTarget Targets="BenchD;BenchC;MovementsD;MovementsC;ExtrusionD;ExtrusionC;GraphD;GraphC"/>
+        <CallTarget Targets="BenchD;MovementsD;ExtrusionD;GraphD"/>
     </Target>
     <Target Name="Clean">
-        <CallTarget Targets="BenchD:Clean;BenchC:Clean;MovementsD:Clean;MovementsC:Clean;ExtrusionD:Clean;ExtrusionC:Clean;GraphD:Clean;GraphC:Clean"/>
+        <CallTarget Targets="BenchD:Clean;MovementsD:Clean;ExtrusionD:Clean;GraphD:Clean"/>
     </Target>
     <Target Name="Make">
-        <CallTarget Targets="BenchD:Make;BenchC:Make;MovementsD:Make;MovementsC:Make;ExtrusionD:Make;ExtrusionC:Make;GraphD:Make;GraphC:Make"/>
+        <CallTarget Targets="BenchD:Make;MovementsD:Make;ExtrusionD:Make;GraphD:Make"/>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>

+ 1 - 1
Examples/Demos/behaviours/FPSMovement/fFPSMovementC.h

@@ -26,7 +26,7 @@
 #include "GLS.GeomObjects.hpp"
 #include "GLScene.VectorGeometry.hpp"
 #include "GLS.Octree.hpp"
-#include "GLScene.VectorLists.hpp"
+#include "GLS.VectorLists.hpp"
 #include "GLS.Collision.hpp"
 #include "GLS.Texture.hpp"
 #include <System.Classes.hpp>

+ 1 - 1
Examples/Demos/behaviours/FPSMovement/fFPSMovementD.pas

@@ -27,7 +27,7 @@ uses
   GLS.Collision,
   GLS.VectorFileObjects,
   GLS.Navigator,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Octree,
   GLS.File3DS,
   GLScene.VectorGeometry,

+ 1 - 1
Examples/Demos/collisions/TriangleBox/fTriangleBoxD.pas

@@ -16,7 +16,7 @@ uses
   Vcl.StdCtrls,
 
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Scene,
   GLS.Objects,
   GLS.Cadencer,

+ 1 - 1
Examples/Demos/collisions/facevsface/fFacevsFaceD.pas

@@ -25,7 +25,7 @@ uses
   GLS.Collision,
   GLS.VectorFileObjects,
 
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.File3DS,
   GLS.Coordinates,
   GLScene.Utils,

+ 1 - 1
Examples/Demos/collisions/octree/fOctreeD.pas

@@ -24,7 +24,7 @@ uses
   GLScene.Utils,
   GLS.BaseClasses,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.File3DS;
 
 type

+ 1 - 1
Examples/Demos/glslshaders/FurShader/fFurShaderD.pas

@@ -20,7 +20,7 @@ uses
   Vcl.Imaging.jpeg,
   GLS.Texture,
   GLS.FileTGA,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   VectorTypes,
   GLScene.Utils,
   GLS.Context,

+ 1 - 1
Examples/Demos/glslshaders/Ocean/fOceanD.pas

@@ -27,7 +27,7 @@ uses
   GLS.Graph,
   GLScene.VectorTypes,
   GLS.SkyDome,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.FileDDS,
  
   GLS.Material,

+ 1 - 1
Examples/Demos/glslshaders/ShaderComponent/fShaderCompD.pas

@@ -16,7 +16,7 @@ uses
   GLS.Scene,
   GLS.Objects,
   GLS.Graph,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorTypes,
   GLScene.VectorGeometry,
   GLSL.Shader,

+ 1 - 1
Examples/Demos/glslshaders/ShadersLab/fShaderLabD.pas

@@ -23,7 +23,7 @@ uses
   Vcl.Imaging.PngImage,
 
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorGeometry,
   GLS.BaseClasses,
   GLS.PersistentClasses,

+ 1 - 1
Examples/Demos/graph/points/fPointsD.pas

@@ -19,7 +19,7 @@ uses
   GLS.Objects,
   GLS.SceneViewer,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.Texture,
   GLS.Color,

+ 1 - 1
Examples/Demos/graph/projection/fProjectionD.pas

@@ -15,7 +15,7 @@ uses
   GLS.SceneViewer,
   GLS.Texture,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.RenderContextInfo,
   GLS.State,
   GLScene.VectorTypes,

+ 3 - 3
Examples/Demos/interface/Console/fConsoleC.dfm

@@ -290,9 +290,9 @@ object Form1: TForm1
       HudSprite.Material.BlendingMode = bmTransparency
       HudSprite.Material.Texture.TextureMode = tmModulate
       HudSprite.Material.Texture.Disabled = False
-      HudSprite.Position.Coordinates = {00002F4366E69742000000000000803F}
-      HudSprite.Width = 350.000000000000000000
-      HudSprite.Height = 151.899993896484400000
+      HudSprite.Position.Coordinates = {00809C4300000543000000000000803F}
+      HudSprite.Width = 626.000000000000000000
+      HudSprite.Height = 266.000000000000000000
       HudSprite.Rotation = 0.000000000000000000
       HudText.Position.Coordinates = {0000404000000040000000000000803F}
       HudText.BitmapFont = Font1

+ 1 - 1
Examples/Demos/meshes/ducky/fDuckyD.pas

@@ -23,7 +23,7 @@ uses
   GLS.SceneViewer,
   GLS.ParametricSurfaces,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Texture,
  
   GLS.Coordinates,

+ 1 - 1
Examples/Demos/meshes/subdivide/fSubdivideD.pas

@@ -21,7 +21,7 @@ uses
   GLS.SceneViewer,
   GLS.MeshUtils,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
 
   GLS.Material,

+ 1 - 1
Examples/Demos/physics/NewtonWalkShoot/fNGDWalkShootD.pas

@@ -14,7 +14,7 @@ uses
 
   GLS.Scene,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.PersistentClasses,
   GLS.Objects,
   GLS.Coordinates,

+ 1 - 1
Examples/Demos/physics/OdeClothify/fOdeClothifyD.pas

@@ -24,7 +24,7 @@ uses
   GLS.VerletTypes,
   GLS.VerletClothify,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorGeometry,
   GLS.Texture,
   GLS.FileSMD,

+ 7 - 7
Examples/Demos/rendering/fullscreen/fFullScreenC.dfm

@@ -1,11 +1,11 @@
 object DataModule1: TDataModule1
   OnCreate = DataModuleCreate
-  Height = 239
-  Width = 415
-  PixelsPerInch = 120
+  Height = 335
+  Width = 581
+  PixelsPerInch = 168
   object GLScene1: TGLScene
-    Left = 20
-    Top = 10
+    Left = 28
+    Top = 14
     object GLLightSource1: TGLLightSource
       ConstAttenuation = 1.000000000000000000
       Position.Coordinates = {0000484200004842000048420000803F}
@@ -45,7 +45,7 @@ object DataModule1: TDataModule1
     StayOnTop = True
     RefreshRate = 100
     OnKeyPress = GLFullScreenViewer1KeyPress
-    Left = 130
-    Top = 10
+    Left = 182
+    Top = 14
   end
 end

+ 1 - 1
Examples/Demos/specialsFX/posteffect/fPostEffectD.pas

@@ -21,7 +21,7 @@ uses
   GLS.VectorFileObjects,
   GLS.Objects,
   GLS.Texture,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.SceneViewer,
   GLS.SimpleNavigation,

+ 1 - 1
Examples/Demos/specialsFX/shadowvolumes/fShadowVolumesD.pas

@@ -20,7 +20,7 @@ uses
   GLS.SceneViewer,
   GLS.ShadowVolume,
   GLS.VectorFileObjects,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.FileSMD,
   GLS.Texture,
   GLScene.VectorTypes,

+ 1 - 1
Examples/Demos/sprites/imposters/fImpostersD.pas

@@ -33,7 +33,7 @@ uses
   GLS.BaseClasses,
   GLS.Material,
   GLS.CompositeImage,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorTypes, GLS.SimpleNavigation;
 
 type

+ 330 - 339
Help/GLSysHelp/GLSysHelp.pds

@@ -3,16 +3,17 @@ StoreRelativePaths=1
 Language=en
 OutputDir=HTML
 GenerateFormat=1
+ImplementationComments=0
 ProjectName=GLSysHelp
 Verbosity=3
 ClassMembers_0=1
 ClassMembers_1=1
-ClassMembers_2=1
-ClassMembers_3=1
+ClassMembers_2=0
+ClassMembers_3=0
 ClassMembers_4=1
-ClassMembers_5=1
-ClassMembers_6=1
-ClassMembers_7=1
+ClassMembers_5=0
+ClassMembers_6=0
+ClassMembers_7=0
 ImplicitVisibility=0
 Sorting_0=0
 Sorting_1=0
@@ -25,25 +26,27 @@ Sorting_7=0
 Sorting_8=1
 Sorting_9=1
 CssFileName=GLSysHelp.css
-IntroductionFileName=..\Introduction.txt
-ConclusionFileName=..\Contributors.txt
+IntroductionFileName=IntroGLS.txt
+ConclusionFileName=
+HtmlHead=
+HtmlBodyBegin=
+HtmlBodyEnd=
+ExternalDescriptions=
 WriteUsesList=1
 AutoAbstract=0
 AutoLink=0
 HandleMacros=0
 UseTipueSearch=0
+Markdown=0
+AutoBackComments=0
+OpenHTML=1
 LineBreakQuality=0
-SpecialMarkerTreatment=2
-Title=GLSysHelp v.2.1
+SpecialMarkerTreatment=0
+Title=GLSysHelp v.2.5
 VizGraphClasses=0
 VizGraphUses=0
 CheckSpelling=0
 LatexGraphicsPackage=0
-HtmlHead=
-HtmlBodyBegin=
-HtmlBodyEnd=
-ExternalDescriptions=
-OpenHTML=1
 
 [Defines]
 Count=3
@@ -53,7 +56,7 @@ Item_2=CPU386
 
 [Header]
 Count=1
-Item_0=GLScene v.2.1 for VCL
+Item_0=GLScene v.2.5 for VCL
 
 [Footer]
 Count=0
@@ -66,329 +69,317 @@ Count=1
 Item_0=..\..\Source
 
 [Files]
-Count=322
-Item_0=..\..\Source\Cg.BombShader.pas
+Count=310
+Item_0=..\..\Source\BASS.Import.pas
 Item_1=..\..\Source\Cg.GL.pas
 Item_2=..\..\Source\Cg.Import.pas
-Item_3=..\..\Source\Cg.PostTransformationShader.pas
-Item_4=..\..\Source\Cg.Register.pas
-Item_5=..\..\Source\Cg.Shader.pas
-Item_6=..\..\Source\CUDA.APIComps.pas
-Item_7=..\..\Source\CUDA.Compiler.pas
-Item_8=..\..\Source\CUDA.Context.pas
-Item_9=..\..\Source\CUDA.DataAccess.pas
-Item_10=..\..\Source\CUDA.EditorFm.pas
-Item_11=..\..\Source\CUDA.FFTPlan.pas
-Item_12=..\..\Source\CUDA.FourierTransform.pas
-Item_13=..\..\Source\CUDA.Graphics.pas
-Item_14=..\..\Source\CUDA.Import.pas
-Item_15=..\..\Source\CUDA.ParallelPrimitives.pas
-Item_16=..\..\Source\CUDA.Parser.pas
-Item_17=..\..\Source\CUDA.PropEditors.pas
-Item_18=..\..\Source\CUDA.Register.pas
-Item_19=..\..\Source\CUDA.Runtime.pas
-Item_20=..\..\Source\CUDA.Utility.pas
-Item_21=..\..\Source\DWS.Classes.pas
-Item_22=..\..\Source\DWS.HelperFunc.pas
-Item_23=..\..\Source\DWS.Objects.pas
-Item_24=..\..\Source\DWS.OpenGL.pas
-Item_25=..\..\Source\DWS.Scene.pas
-Item_26=..\..\Source\DWS.Script.pas
-Item_27=..\..\Source\DWS.VectorGeometry.pas
-Item_28=..\..\Source\FLibMaterialPicker.pas
-Item_29=..\..\Source\FmGuiLayoutEditor.pas
-Item_30=..\..\Source\FmGuiSkinEditor.pas
-Item_31=..\..\Source\FmInfo.pas
-Item_32=..\..\Source\FmLibMaterialPicker.pas
-Item_33=..\..\Source\FmMaterialEditor.pas
-Item_34=..\..\Source\FmPlugInManagerEditor.pas
-Item_35=..\..\Source\FmSceneEditor.pas
-Item_36=..\..\Source\FmShaderMemo.pas
-Item_37=..\..\Source\FmShaderUniformEditor.pas
-Item_38=..\..\Source\FmVectorEditor.pas
-Item_39=..\..\Source\FmXCollectionEditor.pas
-Item_40=..\..\Source\Formats.B3D.pas
-Item_41=..\..\Source\Formats.DDSImage.pas
-Item_42=..\..\Source\Formats.DXTC.pas
-Item_43=..\..\Source\Formats.GL2.pas
-Item_44=..\..\Source\Formats.HDRImage.pas
-Item_45=..\..\Source\Formats.LWO.pas
-Item_46=..\..\Source\Formats.m3DS.pas
-Item_47=..\..\Source\Formats.m3DSConst.pas
-Item_48=..\..\Source\Formats.m3DSTypes.pas
-Item_49=..\..\Source\Formats.m3DSUtils.pas
-Item_50=..\..\Source\Formats.MD2.pas
-Item_51=..\..\Source\Formats.MD3.pas
-Item_52=..\..\Source\Formats.OCT.pas
-Item_53=..\..\Source\Formats.Q3BSP.pas
-Item_54=..\..\Source\Formats.TGA.pas
-Item_55=..\..\Source\Formats.VFW.pas
-Item_56=..\..\Source\Formats.VRML.pas
-Item_57=..\..\Source\Formats.X.pas
-Item_58=..\..\Source\FRColorEditor.pas
-Item_59=..\..\Source\FRFaceEditor.pas
-Item_60=..\..\Source\FRMaterialPreview.pas
-Item_61=..\..\Source\FRTextureEdit.pas
-Item_62=..\..\Source\GLS.AnimatedSprite.pas
-Item_63=..\..\Source\GLS.AnimationUtils.pas
-Item_64=..\..\Source\GLS.ApplicationFileIO.pas
-Item_65=..\..\Source\GLS.ArchiveManager.pas
-Item_66=..\..\Source\GLS.AsyncHDS.pas
-Item_67=..\..\Source\GLS.AsyncTimer.pas
-Item_68=..\..\Source\GLS.Atmosphere.pas
-Item_69=..\..\Source\GLS.AVIRecorder.pas
-Item_70=..\..\Source\GLS.BaseClasses.pas
-Item_71=..\..\Source\GLS.BaseMeshSilhouette.pas
-Item_72=..\..\Source\GLS.Behaviours.pas
-Item_73=..\..\Source\GLS.BitmapFont.pas
-Item_74=..\..\Source\GLS.Blur.pas
-Item_75=..\..\Source\GLS.BumpmapHDS.pas
-Item_76=..\..\Source\GLS.Cadencer.pas
-Item_77=..\..\Source\GLS.CameraController.pas
-Item_78=..\..\Source\GLS.Canvas.pas
-Item_79=..\..\Source\GLS.Collision.pas
-Item_80=..\..\Source\GLS.Color.pas
-Item_81=..\..\Source\GLS.CompositeImage.pas
-Item_82=..\..\Source\GLS.Console.pas
-Item_83=..\..\Source\GLS.Context.pas
-Item_84=..\..\Source\GLS.Coordinates.pas
-Item_85=..\..\Source\GLS.CrossXML.pas
-Item_86=..\..\Source\GLS.CurvesAndSurfaces.pas
-Item_87=..\..\Source\GLS.DCE.pas
-Item_88=..\..\Source\GLS.DynamicTexture.pas
-Item_89=..\..\Source\GLS.EllipseCollision.pas
-Item_90=..\..\Source\GLS.EParticleMasksManager.pas
-Item_91=..\..\Source\GLS.ExplosionFx.pas
-Item_92=..\..\Source\GLS.Extrusion.pas
-Item_93=..\..\Source\GLS.FBORenderer.pas
-Item_94=..\..\Source\GLS.Feedback.pas
-Item_95=..\..\Source\GLS.File3DPDF.pas
-Item_96=..\..\Source\GLS.File3DS.pas
-Item_97=..\..\Source\GLS.File3DSSceneObjects.pas
-Item_98=..\..\Source\GLS.FileASE.pas
-Item_99=..\..\Source\GLS.FileB3D.pas
-Item_100=..\..\Source\GLS.FileBMP.pas
-Item_101=..\..\Source\GLS.FileDDS.pas
-Item_102=..\..\Source\GLS.FileDEL.pas
-Item_103=..\..\Source\GLS.FileDXF.pas
-Item_104=..\..\Source\GLS.FileGL2.pas
-Item_105=..\..\Source\GLS.FileGLB.pas
-Item_106=..\..\Source\GLS.FileGLTF.pas
-Item_107=..\..\Source\GLS.FileGRD.pas
-Item_108=..\..\Source\GLS.FileGTS.pas
-Item_109=..\..\Source\GLS.FileHDR.pas
-Item_110=..\..\Source\GLS.FileJPEG.pas
-Item_111=..\..\Source\GLS.FileLMTS.pas
-Item_112=..\..\Source\GLS.FileLWO.pas
-Item_113=..\..\Source\GLS.FileMD2.pas
-Item_114=..\..\Source\GLS.FileMD3.pas
-Item_115=..\..\Source\GLS.FileMD5.pas
-Item_116=..\..\Source\GLS.FileMDC.pas
-Item_117=..\..\Source\GLS.FileMP3.pas
-Item_118=..\..\Source\GLS.FileMS3D.pas
-Item_119=..\..\Source\GLS.FileNMF.pas
-Item_120=..\..\Source\GLS.FileNurbs.pas
-Item_121=..\..\Source\GLS.FileO3TC.pas
-Item_122=..\..\Source\GLS.FileO3TCImage.pas
-Item_123=..\..\Source\GLS.FileOBJ.pas
-Item_124=..\..\Source\GLS.FileOCT.pas
-Item_125=..\..\Source\GLS.FilePAK.pas
-Item_126=..\..\Source\GLS.FilePGM.pas
-Item_127=..\..\Source\GLS.FilePLY.pas
-Item_128=..\..\Source\GLS.FilePNG.pas
-Item_129=..\..\Source\GLS.FileQ3BSP.pas
-Item_130=..\..\Source\GLS.FileQ3MD3.pas
-Item_131=..\..\Source\GLS.FileSMD.pas
-Item_132=..\..\Source\GLS.FileSTL.pas
-Item_133=..\..\Source\GLS.FileTGA.pas
-Item_134=..\..\Source\GLS.FileTIN.pas
-Item_135=..\..\Source\GLS.FileVfsPAK.pas
-Item_136=..\..\Source\GLS.FileVOR.pas
-Item_137=..\..\Source\GLS.FileVRML.pas
-Item_138=..\..\Source\GLS.FileWAV.pas
-Item_139=..\..\Source\GLS.FileX.pas
-Item_140=..\..\Source\GLS.FileZLIB.pas
-Item_141=..\..\Source\GLS.FireFX.pas
-Item_142=..\..\Source\GLS.FPSMovement.pas
-Item_143=..\..\Source\GLS.FullScreenViewer.pas
-Item_144=..\..\Source\GLS.GameMenu.pas
-Item_145=..\..\Source\GLS.Generics.pas
-Item_146=..\..\Source\GLS.GeometryBB.pas
-Item_147=..\..\Source\GLS.GeomObjects.pas
-Item_148=..\..\Source\GLS.Gizmo.pas
-Item_149=..\..\Source\GLS.GizmoEx.pas
-Item_150=..\..\Source\GLS.Graph.pas
-Item_151=..\..\Source\GLS.Graphics.pas
-Item_152=..\..\Source\GLS.Gui.pas
-Item_153=..\..\Source\GLS.HeightData.pas
-Item_154=..\..\Source\GLS.HeightTileFileHDS.pas
-Item_155=..\..\Source\GLS.HUDObjects.pas
-Item_156=..\..\Source\GLS.ImageUtils.pas
-Item_157=..\..\Source\GLS.Imposter.pas
-Item_158=..\..\Source\GLS.Isolines.pas
-Item_159=..\..\Source\GLS.Isosurface.pas
-Item_160=..\..\Source\GLS.Joystick.pas
-Item_161=..\..\Source\GLS.Keyboard.pas
-Item_162=..\..\Source\GLS.Language.pas
-Item_163=..\..\Source\GLS.LensFlare.pas
-Item_164=..\..\Source\GLS.LinePFX.pas
-Item_165=..\..\Source\GLS.Logger.pas
-Item_166=..\..\Source\GLS.Manager.pas
-Item_167=..\..\Source\GLS.Material.pas
-Item_168=..\..\Source\GLS.MaterialEx.pas
-Item_169=..\..\Source\GLS.MaterialMultiProxy.pas
-Item_170=..\..\Source\GLS.MaterialScript.pas
-Item_171=..\..\Source\GLS.Memo.pas
-Item_172=..\..\Source\GLS.Mesh.pas
-Item_173=..\..\Source\GLS.MeshBSP.pas
-Item_174=..\..\Source\GLS.MeshBuilder.pas
-Item_175=..\..\Source\GLS.MeshCSG.pas
-Item_176=..\..\Source\GLS.MeshLines.pas
-Item_177=..\..\Source\GLS.MeshUtils.pas
-Item_178=..\..\Source\GLS.Mirror.pas
-Item_179=..\..\Source\GLS.ModuleLoader.pas
-Item_180=..\..\Source\GLS.Movement.pas
-Item_181=..\..\Source\GLS.MultiPolygon.pas
-Item_182=..\..\Source\GLS.MultiProxy.pas
-Item_183=..\..\Source\GLS.MultiSampleImage.pas
-Item_184=..\..\Source\GLS.Navigator.pas
-Item_185=..\..\Source\GLS.Nodes.pas
-Item_186=..\..\Source\GLS.ObjectManager.pas
-Item_187=..\..\Source\GLS.Objects.pas
-Item_188=..\..\Source\GLS.Octree.pas
-Item_189=..\..\Source\GLS.OpenGLAdapter.pas
-Item_190=..\..\Source\GLS.OpenGLTokens.pas
-Item_191=..\..\Source\GLS.OpenGLVCL.pas
-Item_192=..\..\Source\GLS.ParametricSurfaces.pas
-Item_193=..\..\Source\GLS.ParticleFX.pas
-Item_194=..\..\Source\GLS.Particles.pas
-Item_195=..\..\Source\GLS.Perlin.pas
-Item_196=..\..\Source\GLS.PerlinPFX.pas
-Item_197=..\..\Source\GLS.PersistentClasses.pas
-Item_198=..\..\Source\GLS.PipelineTransformation.pas
-Item_199=..\..\Source\GLS.PlugInManager.pas
-Item_200=..\..\Source\GLS.PolygonTesselation.pas
-Item_201=..\..\Source\GLS.Polynomials.pas
-Item_202=..\..\Source\GLS.Portal.pas
-Item_203=..\..\Source\GLS.ProcTextures.pas
-Item_204=..\..\Source\GLS.ProjectedTextures.pas
-Item_205=..\..\Source\GLS.ProxyObjects.pas
-Item_206=..\..\Source\GLS.PythonScript.pas
-Item_207=..\..\Source\GLS.Ragdoll.pas
-Item_208=..\..\Source\GLS.RandomHDS.pas
-Item_209=..\..\Source\GLS.RenderContextInfo.pas
-Item_210=..\..\Source\GLS.RGBE.pas
-Item_211=..\..\Source\GLS.ROAMPatch.pas
-Item_212=..\..\Source\GLS.Scene.pas
-Item_213=..\..\Source\GLS.SceneForm.pas
-Item_214=..\..\Source\GLS.SceneRegister.pas
-Item_215=..\..\Source\GLS.SceneViewer.pas
-Item_216=..\..\Source\GLS.Screen.pas
-Item_217=..\..\Source\GLS.ScreenSaver.pas
-Item_218=..\..\Source\GLS.ScriptBase.pas
-Item_219=..\..\Source\GLS.SDLContext.pas
-Item_220=..\..\Source\GLS.SDLWindow.pas
-Item_221=..\..\Source\GLS.Selection.pas
-Item_222=..\..\Source\GLS.ShadowHDS.pas
-Item_223=..\..\Source\GLS.ShadowPlane.pas
-Item_224=..\..\Source\GLS.ShadowVolume.pas
-Item_225=..\..\Source\GLS.Silhouette.pas
-Item_226=..\..\Source\GLS.SimpleNavigation.pas
-Item_227=..\..\Source\GLS.SkyDome.pas
-Item_228=..\..\Source\GLS.SmoothNavigator.pas
-Item_229=..\..\Source\GLS.Sound.pas
-Item_230=..\..\Source\GLS.SoundFileObjects.pas
-Item_231=..\..\Source\GLS.SpacePartition.pas
-Item_232=..\..\Source\GLS.SpaceText.pas
-Item_233=..\..\Source\GLS.Spline.pas
-Item_234=..\..\Source\GLS.State.pas
-Item_235=..\..\Source\GLS.Strings.pas
-Item_236=..\..\Source\GLS.TerrainRenderer.pas
-Item_237=..\..\Source\GLS.TexLensFlare.pas
-Item_238=..\..\Source\GLS.Texture.pas
-Item_239=..\..\Source\GLS.TextureCombiners.pas
-Item_240=..\..\Source\GLS.TexturedHDS.pas
-Item_241=..\..\Source\GLS.TextureFormat.pas
-Item_242=..\..\Source\GLS.TextureImageEditors.pas
-Item_243=..\..\Source\GLS.ThorFX.pas
-Item_244=..\..\Source\GLS.TilePlane.pas
-Item_245=..\..\Source\GLS.TimeEventsMgr.pas
-Item_246=..\..\Source\GLS.Trail.pas
-Item_247=..\..\Source\GLS.Tree.pas
-Item_248=..\..\Source\GLS.Triangulation.pas
-Item_249=..\..\Source\GLS.Utils.pas
-Item_250=..\..\Source\GLS.VectorFileObjects.pas
-Item_251=..\..\Source\GLS.VectorGeometry.pas
-Item_252=..\..\Source\GLS.VectorLists.pas
-Item_253=..\..\Source\GLS.VectorTypes.pas
-Item_254=..\..\Source\GLS.VectorTypesExt.pas
-Item_255=..\..\Source\GLS.VerletClothify.pas
-Item_256=..\..\Source\GLS.VerletTypes.pas
-Item_257=..\..\Source\GLS.WaterPlane.pas
-Item_258=..\..\Source\GLS.Windows.pas
-Item_259=..\..\Source\GLS.WindowsContext.pas
-Item_260=..\..\Source\GLS.WindowsFont.pas
-Item_261=..\..\Source\GLS.XCollection.pas
-Item_262=..\..\Source\GLS.XCollectionRegister.pas
-Item_263=..\..\Source\GLS.XOpenGL.pas
-Item_264=..\..\Source\GLS.zBuffer.pas
-Item_265=..\..\Source\GLSL.AsmShader.pas
-Item_266=..\..\Source\GLSL.BumpShaders.pas
-Item_267=..\..\Source\GLSL.CustomShader.pas
-Item_268=..\..\Source\GLSL.DiffuseSpecularShader.pas
-Item_269=..\..\Source\GLSL.LineShaders.pas
-Item_270=..\..\Source\GLSL.MultiMaterialShader.pas
-Item_271=..\..\Source\GLSL.PhongShader.pas
-Item_272=..\..\Source\GLSL.PostEffects.pas
-Item_273=..\..\Source\GLSL.PostShaders.pas
-Item_274=..\..\Source\GLSL.ProjectedTextures.pas
-Item_275=..\..\Source\GLSL.Shader.pas
-Item_276=..\..\Source\GLSL.ShaderCombiner.pas
-Item_277=..\..\Source\GLSL.ShaderDiffuseSpecular.pas
-Item_278=..\..\Source\GLSL.ShaderParameter.pas
-Item_279=..\..\Source\GLSL.ShapeShaders.pas
-Item_280=..\..\Source\GLSL.TextureShaders.pas
-Item_281=..\..\Source\GLSL.UserShader.pas
-Item_282=..\..\Source\OpenCL.GL.pas
-Item_283=..\..\Source\OpenCL.Import.pas
-Item_284=..\..\Source\OpenCL.Platform.pas
-Item_285=..\..\Source\PasDblStrUtils.pas
-Item_286=..\..\Source\PasGLTF.pas
-Item_287=..\..\Source\PasJSON.pas
-Item_288=..\..\Source\Physics.NewtonImport.pas
-Item_289=..\..\Source\Physics.NGDImport.pas
-Item_290=..\..\Source\Physics.NGDManager.pas
-Item_291=..\..\Source\Physics.NGDRagdoll.pas
-Item_292=..\..\Source\Physics.ODEImport.pas
-Item_293=..\..\Source\Physics.ODEManager.pas
-Item_294=..\..\Source\Physics.ODERagdoll.pas
-Item_295=..\..\Source\Physics.ODESkeletonColliders.pas
-Item_296=..\..\Source\Physics.ODEUtils.pas
-Item_297=..\..\Source\Physics.PhysXImport.pas
-Item_298=..\..\Source\Physics.Register.pas
-Item_299=..\..\Source\Physics.SPIFields.pas
-Item_300=..\..\Source\Physics.SPIForces.pas
-Item_301=..\..\Source\Physics.SPIInertias.pas
-Item_302=..\..\Source\Physics.SPIJoints.pas
-Item_303=..\..\Source\Physics.SPIManager.pas
-Item_304=..\..\Source\Pythons.Script.pas
-Item_305=..\..\Source\SDL2.Frame.pas
-Item_306=..\..\Source\SDL2.Image.pas
-Item_307=..\..\Source\SDL2.Import.pas
-Item_308=..\..\Source\SDL2.Mixer.pas
-Item_309=..\..\Source\SDL2.Net.pas
-Item_310=..\..\Source\SDL2.Ttf.pas
-Item_311=..\..\Source\Sounds.BASS.pas
-Item_312=..\..\Source\Sounds.BASSImport.pas
-Item_313=..\..\Source\Sounds.FMOD.pas
-Item_314=..\..\Source\Sounds.FMODerrors.pas
-Item_315=..\..\Source\Sounds.FMODImport.pas
-Item_316=..\..\Source\Sounds.FMODpresets.pas
-Item_317=..\..\Source\Sounds.FMODtypes.pas
-Item_318=..\..\Source\Sounds.OpenAL.pas
-Item_319=..\..\Source\Sounds.OpenALImport.pas
-Item_320=..\..\Source\Sounds.SoundRegister.pas
-Item_321=..\..\Source\Sounds.WaveOut.pas
+Item_3=..\..\Source\CUDA.DataAccess.pas
+Item_4=..\..\Source\CUDA.FourierTransform.pas
+Item_5=..\..\Source\CUDA.Import.pas
+Item_6=..\..\Source\CUDA.ParallelPrimitives.pas
+Item_7=..\..\Source\CUDA.Parser.pas
+Item_8=..\..\Source\CUDA.Runtime.pas
+Item_9=..\..\Source\CUDA.Utility.pas
+Item_10=..\..\Source\FmCUDAEditor.pas
+Item_11=..\..\Source\FmGuiLayoutEditor.pas
+Item_12=..\..\Source\FmGuiSkinEditor.pas
+Item_13=..\..\Source\FmInfo.pas
+Item_14=..\..\Source\FmLibMaterialPicker.pas
+Item_15=..\..\Source\FmMaterialEditor.pas
+Item_16=..\..\Source\FMOD.errors.pas
+Item_17=..\..\Source\FMOD.Import.pas
+Item_18=..\..\Source\FMOD.presets.pas
+Item_19=..\..\Source\FMOD.types.pas
+Item_20=..\..\Source\FmSceneEditor.pas
+Item_21=..\..\Source\FmShaderMemo.pas
+Item_22=..\..\Source\FmShaderUniformEditor.pas
+Item_23=..\..\Source\FmVectorEditor.pas
+Item_24=..\..\Source\FmXCollectionEditor.pas
+Item_25=..\..\Source\Formats.B3D.pas
+Item_26=..\..\Source\Formats.DDSImage.pas
+Item_27=..\..\Source\Formats.DXTC.pas
+Item_28=..\..\Source\Formats.GL2.pas
+Item_29=..\..\Source\Formats.HDRImage.pas
+Item_30=..\..\Source\Formats.LWO.pas
+Item_31=..\..\Source\Formats.m3DS.pas
+Item_32=..\..\Source\Formats.m3DSConst.pas
+Item_33=..\..\Source\Formats.m3DSTypes.pas
+Item_34=..\..\Source\Formats.m3DSUtils.pas
+Item_35=..\..\Source\Formats.MD2.pas
+Item_36=..\..\Source\Formats.MD3.pas
+Item_37=..\..\Source\Formats.OCT.pas
+Item_38=..\..\Source\Formats.Q3BSP.pas
+Item_39=..\..\Source\Formats.TGA.pas
+Item_40=..\..\Source\Formats.VFW.pas
+Item_41=..\..\Source\Formats.VRML.pas
+Item_42=..\..\Source\Formats.X.pas
+Item_43=..\..\Source\FRColorEditor.pas
+Item_44=..\..\Source\FRFaceEditor.pas
+Item_45=..\..\Source\FRMaterialPreview.pas
+Item_46=..\..\Source\FRTextureEdit.pas
+Item_47=..\..\Source\FRTrackBarEdit.pas
+Item_48=..\..\Source\GLS.AnimatedSprite.pas
+Item_49=..\..\Source\GLS.ApplicationFileIO.pas
+Item_50=..\..\Source\GLS.ArchiveManager.pas
+Item_51=..\..\Source\GLS.AsyncHDS.pas
+Item_52=..\..\Source\GLS.AsyncTimer.pas
+Item_53=..\..\Source\GLS.Atmosphere.pas
+Item_54=..\..\Source\GLS.AVIRecorder.pas
+Item_55=..\..\Source\GLS.BaseMeshSilhouette.pas
+Item_56=..\..\Source\GLS.Behaviours.pas
+Item_57=..\..\Source\GLS.BitmapFont.pas
+Item_58=..\..\Source\GLS.Blur.pas
+Item_59=..\..\Source\GLS.BumpmapHDS.pas
+Item_60=..\..\Source\GLS.Cadencer.pas
+Item_61=..\..\Source\GLS.CameraController.pas
+Item_62=..\..\Source\GLS.Canvas.pas
+Item_63=..\..\Source\GLS.CgBombShader.pas
+Item_64=..\..\Source\GLS.CgPostTransformationShader.pas
+Item_65=..\..\Source\GLS.CgRegister.pas
+Item_66=..\..\Source\GLS.CgShader.pas
+Item_67=..\..\Source\GLS.Collision.pas
+Item_68=..\..\Source\GLS.CompositeImage.pas
+Item_69=..\..\Source\GLS.Console.pas
+Item_70=..\..\Source\GLS.Context.pas
+Item_71=..\..\Source\GLS.CUDA.APIComps.pas
+Item_72=..\..\Source\GLS.CUDA.Compiler.pas
+Item_73=..\..\Source\GLS.CUDA.Context.pas
+Item_74=..\..\Source\GLS.CUDA.FFTPlan.pas
+Item_75=..\..\Source\GLS.CUDA.Graphics.pas
+Item_76=..\..\Source\GLS.CUDA.PropEditors.pas
+Item_77=..\..\Source\GLS.CUDA.Register.pas
+Item_78=..\..\Source\GLS.CyborgManager.pas
+Item_79=..\..\Source\GLS.DCE.pas
+Item_80=..\..\Source\GLS.DynamicTexture.pas
+Item_81=..\..\Source\GLS.EllipseCollision.pas
+Item_82=..\..\Source\GLS.EParticleMasksManager.pas
+Item_83=..\..\Source\GLS.ExplosionFx.pas
+Item_84=..\..\Source\GLS.Extrusion.pas
+Item_85=..\..\Source\GLS.FBORenderer.pas
+Item_86=..\..\Source\GLS.Feedback.pas
+Item_87=..\..\Source\GLS.File3DPDF.pas
+Item_88=..\..\Source\GLS.File3DS.pas
+Item_89=..\..\Source\GLS.File3DSSceneObjects.pas
+Item_90=..\..\Source\GLS.FileASE.pas
+Item_91=..\..\Source\GLS.FileB3D.pas
+Item_92=..\..\Source\GLS.FileBMP.pas
+Item_93=..\..\Source\GLS.FileDDS.pas
+Item_94=..\..\Source\GLS.FileDEL.pas
+Item_95=..\..\Source\GLS.FileDXF.pas
+Item_96=..\..\Source\GLS.FileGL2.pas
+Item_97=..\..\Source\GLS.FileGLTF.pas
+Item_98=..\..\Source\GLS.FileGRD.pas
+Item_99=..\..\Source\GLS.FileGTS.pas
+Item_100=..\..\Source\GLS.FileHDR.pas
+Item_101=..\..\Source\GLS.FileJPEG.pas
+Item_102=..\..\Source\GLS.FileLMTS.pas
+Item_103=..\..\Source\GLS.FileLWO.pas
+Item_104=..\..\Source\GLS.FileMD2.pas
+Item_105=..\..\Source\GLS.FileMD3.pas
+Item_106=..\..\Source\GLS.FileMD5.pas
+Item_107=..\..\Source\GLS.FileMDC.pas
+Item_108=..\..\Source\GLS.FileMP3.pas
+Item_109=..\..\Source\GLS.FileMS3D.pas
+Item_110=..\..\Source\GLS.FileNMF.pas
+Item_111=..\..\Source\GLS.FileNurbs.pas
+Item_112=..\..\Source\GLS.FileOBJ.pas
+Item_113=..\..\Source\GLS.FileOCT.pas
+Item_114=..\..\Source\GLS.FilePAK.pas
+Item_115=..\..\Source\GLS.FilePGM.pas
+Item_116=..\..\Source\GLS.FilePLY.pas
+Item_117=..\..\Source\GLS.FilePNG.pas
+Item_118=..\..\Source\GLS.FileQ3BSP.pas
+Item_119=..\..\Source\GLS.FileQ3MD3.pas
+Item_120=..\..\Source\GLS.FileSMD.pas
+Item_121=..\..\Source\GLS.FileSTL.pas
+Item_122=..\..\Source\GLS.FileTGA.pas
+Item_123=..\..\Source\GLS.FileTIN.pas
+Item_124=..\..\Source\GLS.FileVfsPAK.pas
+Item_125=..\..\Source\GLS.FileVOR.pas
+Item_126=..\..\Source\GLS.FileVRML.pas
+Item_127=..\..\Source\GLS.FileWAV.pas
+Item_128=..\..\Source\GLS.FileX.pas
+Item_129=..\..\Source\GLS.FileZLIB.pas
+Item_130=..\..\Source\GLS.FireFX.pas
+Item_131=..\..\Source\GLS.FPSMovement.pas
+Item_132=..\..\Source\GLS.FullScreenViewer.pas
+Item_133=..\..\Source\GLS.GameMenu.pas
+Item_134=..\..\Source\GLS.GeomObjects.pas
+Item_135=..\..\Source\GLS.Gizmo.pas
+Item_136=..\..\Source\GLS.GizmoEx.pas
+Item_137=..\..\Source\GLS.Graph.pas
+Item_138=..\..\Source\GLS.Graphics.pas
+Item_139=..\..\Source\GLS.Gui.pas
+Item_140=..\..\Source\GLS.HeightData.pas
+Item_141=..\..\Source\GLS.HeightTileFileHDS.pas
+Item_142=..\..\Source\GLS.HUDObjects.pas
+Item_143=..\..\Source\GLS.ImageUtils.pas
+Item_144=..\..\Source\GLS.Imposter.pas
+Item_145=..\..\Source\GLS.InitOpenGL.pas
+Item_146=..\..\Source\GLS.Isolines.pas
+Item_147=..\..\Source\GLS.Isosurface.pas
+Item_148=..\..\Source\GLS.Joystick.pas
+Item_149=..\..\Source\GLS.LensFlare.pas
+Item_150=..\..\Source\GLS.LinePFX.pas
+Item_151=..\..\Source\GLS.Material.pas
+Item_152=..\..\Source\GLS.MaterialEx.pas
+Item_153=..\..\Source\GLS.MaterialMultiProxy.pas
+Item_154=..\..\Source\GLS.MaterialScript.pas
+Item_155=..\..\Source\GLS.Memo.pas
+Item_156=..\..\Source\GLS.Mesh.pas
+Item_157=..\..\Source\GLS.MeshBSP.pas
+Item_158=..\..\Source\GLS.MeshBuilder.pas
+Item_159=..\..\Source\GLS.MeshCSG.pas
+Item_160=..\..\Source\GLS.MeshLines.pas
+Item_161=..\..\Source\GLS.MeshUtils.pas
+Item_162=..\..\Source\GLS.Mirror.pas
+Item_163=..\..\Source\GLS.Movement.pas
+Item_164=..\..\Source\GLS.MultiPolygon.pas
+Item_165=..\..\Source\GLS.MultiProxy.pas
+Item_166=..\..\Source\GLS.MultiSampleImage.pas
+Item_167=..\..\Source\GLS.Navigator.pas
+Item_168=..\..\Source\GLS.NGDManager.pas
+Item_169=..\..\Source\GLS.NGDRagdoll.pas
+Item_170=..\..\Source\GLS.Nodes.pas
+Item_171=..\..\Source\GLS.ObjectManager.pas
+Item_172=..\..\Source\GLS.Objects.pas
+Item_173=..\..\Source\GLS.Octree.pas
+Item_174=..\..\Source\GLS.ODEManager.pas
+Item_175=..\..\Source\GLS.ODERagdoll.pas
+Item_176=..\..\Source\GLS.ODESkeletonColliders.pas
+Item_177=..\..\Source\GLS.ODEUtils.pas
+Item_178=..\..\Source\GLS.OpenGLAdapter.pas
+Item_179=..\..\Source\GLS.PAKArchive.pas
+Item_180=..\..\Source\GLS.ParametricSurfaces.pas
+Item_181=..\..\Source\GLS.ParticleFX.pas
+Item_182=..\..\Source\GLS.Particles.pas
+Item_183=..\..\Source\GLS.Perlin.pas
+Item_184=..\..\Source\GLS.PerlinPFX.pas
+Item_185=..\..\Source\GLS.PhysFields.pas
+Item_186=..\..\Source\GLS.PhysForces.pas
+Item_187=..\..\Source\GLS.Physics.Register.pas
+Item_188=..\..\Source\GLS.PhysInertias.pas
+Item_189=..\..\Source\GLS.PhysJoints.pas
+Item_190=..\..\Source\GLS.PhysManager.pas
+Item_191=..\..\Source\GLS.PolygonTesselation.pas
+Item_192=..\..\Source\GLS.Polyhedra.pas
+Item_193=..\..\Source\GLS.Portal.pas
+Item_194=..\..\Source\GLS.ProcTextures.pas
+Item_195=..\..\Source\GLS.ProjectedTextures.pas
+Item_196=..\..\Source\GLS.ProxyObjects.pas
+Item_197=..\..\Source\GLS.Pythons.Script.pas
+Item_198=..\..\Source\GLS.Ragdoll.pas
+Item_199=..\..\Source\GLS.RandomHDS.pas
+Item_200=..\..\Source\GLS.RenderContextInfo.pas
+Item_201=..\..\Source\GLS.ROAMPatch.pas
+Item_202=..\..\Source\GLS.Scene.pas
+Item_203=..\..\Source\GLS.SceneForm.pas
+Item_204=..\..\Source\GLS.SceneRegister.pas
+Item_205=..\..\Source\GLS.SceneViewer.pas
+Item_206=..\..\Source\GLS.Screen.pas
+Item_207=..\..\Source\GLS.ScreenSaver.pas
+Item_208=..\..\Source\GLS.ScriptBase.pas
+Item_209=..\..\Source\GLS.SDL.Context.pas
+Item_210=..\..\Source\GLS.SDL.Window.pas
+Item_211=..\..\Source\GLS.Selection.pas
+Item_212=..\..\Source\GLS.ShadowHDS.pas
+Item_213=..\..\Source\GLS.ShadowPlane.pas
+Item_214=..\..\Source\GLS.ShadowVolume.pas
+Item_215=..\..\Source\GLS.Silhouette.pas
+Item_216=..\..\Source\GLS.SimpleNavigation.pas
+Item_217=..\..\Source\GLS.SkyDome.pas
+Item_218=..\..\Source\GLS.SmartObjects.pas
+Item_219=..\..\Source\GLS.SmoothNavigator.pas
+Item_220=..\..\Source\GLS.SoundFileObjects.pas
+Item_221=..\..\Source\GLS.SoundManager.pas
+Item_222=..\..\Source\GLS.Sounds.BASS.pas
+Item_223=..\..\Source\GLS.Sounds.FMOD.pas
+Item_224=..\..\Source\GLS.Sounds.OpenAL.pas
+Item_225=..\..\Source\GLS.Sounds.Register.pas
+Item_226=..\..\Source\GLS.Sounds.WaveOut.pas
+Item_227=..\..\Source\GLS.SpacePartition.pas
+Item_228=..\..\Source\GLS.SpaceText.pas
+Item_229=..\..\Source\GLS.State.pas
+Item_230=..\..\Source\GLS.TerrainRenderer.pas
+Item_231=..\..\Source\GLS.TexLensFlare.pas
+Item_232=..\..\Source\GLS.Texture.pas
+Item_233=..\..\Source\GLS.TextureCombiners.pas
+Item_234=..\..\Source\GLS.TexturedHDS.pas
+Item_235=..\..\Source\GLS.TextureImageEditors.pas
+Item_236=..\..\Source\GLS.ThorFX.pas
+Item_237=..\..\Source\GLS.TilePlane.pas
+Item_238=..\..\Source\GLS.TimeEventsMgr.pas
+Item_239=..\..\Source\GLS.Trail.pas
+Item_240=..\..\Source\GLS.Tree.pas
+Item_241=..\..\Source\GLS.VectorFileObjects.pas
+Item_242=..\..\Source\GLS.VerletClothify.pas
+Item_243=..\..\Source\GLS.VerletTypes.pas
+Item_244=..\..\Source\GLS.WaterPlane.pas
+Item_245=..\..\Source\GLS.Windows.pas
+Item_246=..\..\Source\GLS.WindowsContext.pas
+Item_247=..\..\Source\GLS.WindowsFont.pas
+Item_248=..\..\Source\GLS.XCollectionRegister.pas
+Item_249=..\..\Source\GLS.XOpenGL.pas
+Item_250=..\..\Source\GLS.zBuffer.pas
+Item_251=..\..\Source\GLScene.AnimationUtils.pas
+Item_252=..\..\Source\GLScene.BaseClasses.pas
+Item_253=..\..\Source\GLScene.Color.pas
+Item_254=..\..\Source\GLScene.Coordinates.pas
+Item_255=..\..\Source\GLScene.CurvesAndSurfaces.pas
+Item_256=..\..\Source\GLScene.Generics.pas
+Item_257=..\..\Source\GLScene.GeometryBB.pas
+Item_258=..\..\Source\GLScene.Keyboard.pas
+Item_259=..\..\Source\GLScene.Logger.pas
+Item_260=..\..\Source\GLScene.Manager.pas
+Item_261=..\..\Source\GLScene.OpenGL4.pas
+Item_262=..\..\Source\GLScene.OpenGLTokens.pas
+Item_263=..\..\Source\GLScene.PersistentClasses.pas
+Item_264=..\..\Source\GLScene.PipelineTransform.pas
+Item_265=..\..\Source\GLScene.Polynomials.pas
+Item_266=..\..\Source\GLScene.RandomLib.pas
+Item_267=..\..\Source\GLScene.RedBlackTree.pas
+Item_268=..\..\Source\GLScene.RGBE.pas
+Item_269=..\..\Source\GLScene.Spline.pas
+Item_270=..\..\Source\GLScene.Strings.pas
+Item_271=..\..\Source\GLScene.TextureFormat.pas
+Item_272=..\..\Source\GLScene.Triangulation.pas
+Item_273=..\..\Source\GLScene.Utils.pas
+Item_274=..\..\Source\GLScene.VectorGeometry.pas
+Item_275=..\..\Source\GLScene.VectorLists.pas
+Item_276=..\..\Source\GLScene.VectorTypes.pas
+Item_277=..\..\Source\GLScene.VectorTypesExt.pas
+Item_278=..\..\Source\GLScene.XCollection.pas
+Item_279=..\..\Source\GLSL.AsmShader.pas
+Item_280=..\..\Source\GLSL.BumpShaders.pas
+Item_281=..\..\Source\GLSL.CustomShader.pas
+Item_282=..\..\Source\GLSL.DiffuseSpecularShader.pas
+Item_283=..\..\Source\GLSL.LineShaders.pas
+Item_284=..\..\Source\GLSL.MultiMaterialShader.pas
+Item_285=..\..\Source\GLSL.PhongShader.pas
+Item_286=..\..\Source\GLSL.PostEffects.pas
+Item_287=..\..\Source\GLSL.PostShaders.pas
+Item_288=..\..\Source\GLSL.ProjectedTextures.pas
+Item_289=..\..\Source\GLSL.Shader.pas
+Item_290=..\..\Source\GLSL.ShaderCombiner.pas
+Item_291=..\..\Source\GLSL.ShaderParameter.pas
+Item_292=..\..\Source\GLSL.ShapeShaders.pas
+Item_293=..\..\Source\GLSL.TextureShaders.pas
+Item_294=..\..\Source\GLSL.UserShader.pas
+Item_295=..\..\Source\gnuGettext.pas
+Item_296=..\..\Source\gnuGettextInit.pas
+Item_297=..\..\Source\ModuleLoader.pas
+Item_298=..\..\Source\Newton.Import.pas
+Item_299=..\..\Source\NGD.Import.pas
+Item_300=..\..\Source\ODE.Import.pas
+Item_301=..\..\Source\OpenAL.Import.pas
+Item_302=..\..\Source\OpenCL.GL.pas
+Item_303=..\..\Source\OpenCL.Import.pas
+Item_304=..\..\Source\OpenCL.Platform.pas
+Item_305=..\..\Source\PasDblStrUtils.pas
+Item_306=..\..\Source\PasGLTF.pas
+Item_307=..\..\Source\PasJSON.pas
+Item_308=..\..\Source\PhysX.Import.pas
+Item_309=..\..\Source\SDL.Import.pas
 
 [AdditionalFiles]
 Count=0
@@ -398,9 +389,9 @@ Count=0
 
 [SpecialMarkers]
 Count=3
-Item_0=(*
-Item_1=//
-Item_2=
+Item_0=//
+Item_1=(*
+Item_2={
 
 [IgnoreWords]
 Count=0

BIN
Help/GLSysHelp/HTML/GLSysHelp.chm


+ 0 - 2
Help/GLSysHelp/HTML/_Readme.txt

@@ -1,2 +0,0 @@
-The directory for autogenerated html files by PasDoc
-

+ 2 - 9
Help/Introduction.txt → Help/GLSysHelp/IntroGLS.txt

@@ -1,7 +1,3 @@
-GLScene for Win32/Win64
-
--------------------------------------------------------
-
 GLScene is an OpenGL based 3D library for Delphi, C++Builder and Lazarus. 
 It provides visual components and objects allowing description and effective rendering of 3D scenes.
 GLScene is not only an OpenGL wrapper or utility library, but it's grown to become a set of founding classes 
@@ -17,9 +13,6 @@ FMOD, BASS, OpenAL and WaveOut.
 Advanced demos and samples could be found in the project directory GLScene\Examples.
 Some additional options for compiler are in GLS.Scene.inc (activated/deactivated, all are inactive by default):
 The option DEFINE GLS_Graphics32_SUPPORT controls support Alex Denissov's Graphics32 library 
-(http://www.graphics32.org), once activated will redirect assignments from 
-TBitmap32 to TGLBitmap32.
-
---------------------------------------------------------------
+(http://www.graphics32.org), once activated will redirect assignments from TBitmap32 to TGLBitmap32.
 
-GLSTeam
+GLXS Team

+ 4 - 4
Help/GLSysHelp/Readme.txt → Help/GLSysHelp/ReadGLS.txt

@@ -1,10 +1,10 @@
 The directory for PasDoc scripts
 ------------------------------------------------------------
-To generate GLSysHelp.chm you need to follow the next steps:
-1.Download PasDoc program from https://github.com/pasdoc/pasdoc and setup it.
+To generate GLSysHelp.chm you need to follow steps:
+1.Download PasDoc program from https://github.com/pasdoc/pasdoc/releases/tag/snapshot and setup it.
 2.Run the pasdoc_gui program and Open GLSysHelp.pds script 
 3.Click on the button Generate and create GLScene's help system files in HTML folder
 4.Download HTML Help Workshop 1.3 software from Microsoft site and setup it.
 5.Run the hhw.exe program from C:\Program Files (x86)\HTML Help Workshop\
-6.Open GLSysHelp.hhp project in ..\GLSysHelp\HTML\ folder and compile it.
-7.Clean HTML folder using _CleanHTML.bat and fimd there the file GLSysHelp.chm
+6.Open GLSysHelp.hhp project in ..GLScene\Help\GLSysHelp\HTML\ folder and compile it.
+7.Clean HTML folder using _CleanHTML.bat and find there the file GLSysHelp.chm

+ 0 - 1
Help/GLSysHelp/_CleanHTML.bat → Help/GLSysHelp/_CleanHTML.cmd

@@ -6,4 +6,3 @@ del *.hhc /s
 del *.hhk /s
 del *.hhp /s
 del *.log /s
-del *.css /s

+ 96 - 0
Help/GXSysHelp/GXSysHelp.css

@@ -0,0 +1,96 @@
+/* pasdoc.css
+   Styles used by PasDoc to generate HTML / Compiled HTML Documentation.*/  
+ 
+/* start css.sty */
+.cmr-10x-x-109{}
+.cmr-17{font-size:154%;}
+.cmr-12{font-size:109%;}
+.cmtt-10x-x-109{font-family: monospace;}
+.cmti-10x-x-109{ font-style: italic;}
+.cmsy-10x-x-109{}
+.cmbx-10x-x-109{ font-weight: bold;}
+.cmmi-10x-x-109{font-style: italic;}
+p.noindent { text-indent: 0em }
+p.nopar { text-indent: 0em; }
+p.indent{ text-indent: 1.5em }
+@media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+li p.indent { text-indent: 0em }
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+div.verbatim {font-family: monospace; white-space: nowrap; }
+span.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+table.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+div.array {text-align:center;}
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em;}
+table.tabular td p{margin-top:0em;}
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+.hline hr, .cline hr{ height : 1px; }
+.tabbing-right {text-align:right;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+span.TEX {letter-spacing: -0.125em; }
+span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
+a span.TEX span.E {text-decoration: none; }
+span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
+span.LATEX span.TEX{ position:relative; left: -0.4em; }
+.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+div.float img, div.float .caption {text-align:center;}
+div.figure img, div.figure .caption {text-align:center;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.pmatrix {text-align:center;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.caption td.id{font-weight: bold; white-space: nowrap; }
+table.caption {text-align:center;}
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:80%; font-style:italic; }
+div.author{white-space: nowrap;}
+.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.abstract p {margin-left:5%; margin-right:5%;}
+/* end css.sty */

+ 384 - 0
Help/GXSysHelp/GXSysHelp.pds

@@ -0,0 +1,384 @@
+[Main]
+StoreRelativePaths=1
+Language=en
+OutputDir=HTML
+GenerateFormat=1
+ImplementationComments=0
+ProjectName=GXSysHelp
+Verbosity=3
+ClassMembers_0=1
+ClassMembers_1=1
+ClassMembers_2=0
+ClassMembers_3=0
+ClassMembers_4=1
+ClassMembers_5=0
+ClassMembers_6=0
+ClassMembers_7=0
+ImplicitVisibility=0
+Sorting_0=0
+Sorting_1=0
+Sorting_2=0
+Sorting_3=1
+Sorting_4=0
+Sorting_5=0
+Sorting_6=0
+Sorting_7=0
+Sorting_8=1
+Sorting_9=1
+CssFileName=GXSysHelp.css
+IntroductionFileName=IntroGXS.txt
+ConclusionFileName=
+HtmlHead=
+HtmlBodyBegin=
+HtmlBodyEnd=
+ExternalDescriptions=
+WriteUsesList=1
+AutoAbstract=0
+AutoLink=0
+HandleMacros=0
+UseTipueSearch=0
+Markdown=0
+AutoBackComments=0
+OpenHTML=1
+LineBreakQuality=0
+SpecialMarkerTreatment=0
+Title=GXSysHelp v.2.5
+VizGraphClasses=0
+VizGraphUses=0
+CheckSpelling=0
+LatexGraphicsPackage=0
+
+[Defines]
+Count=3
+Item_0=MSWINDOWS
+Item_1=WIN32
+Item_2=CPU386
+
+[Header]
+Count=1
+Item_0=GXScene v.2.5 for FMX
+
+[Footer]
+Count=0
+
+[AutoLinkExclude]
+Count=0
+
+[IncludeDirectories]
+Count=2
+Item_0=..\..\Sourcex
+Item_1=..\..\Source
+
+[Files]
+Count=296
+Item_0=..\..\Source\GLScene.AnimationUtils.pas
+Item_1=..\..\Source\GLScene.BaseClasses.pas
+Item_2=..\..\Source\GLScene.Color.pas
+Item_3=..\..\Source\GLScene.Coordinates.pas
+Item_4=..\..\Source\GLScene.CurvesAndSurfaces.pas
+Item_5=..\..\Source\GLScene.Generics.pas
+Item_6=..\..\Source\GLScene.GeometryBB.pas
+Item_7=..\..\Source\GLScene.Keyboard.pas
+Item_8=..\..\Source\GLScene.Logger.pas
+Item_9=..\..\Source\GLScene.Manager.pas
+Item_10=..\..\Source\GLScene.OpenGL4.pas
+Item_11=..\..\Source\GLScene.OpenGLTokens.pas
+Item_12=..\..\Source\GLScene.PersistentClasses.pas
+Item_13=..\..\Source\GLScene.PipelineTransform.pas
+Item_14=..\..\Source\GLScene.Polynomials.pas
+Item_15=..\..\Source\GLScene.RandomLib.pas
+Item_16=..\..\Source\GLScene.RedBlackTree.pas
+Item_17=..\..\Source\GLScene.RGBE.pas
+Item_18=..\..\Source\GLScene.Spline.pas
+Item_19=..\..\Source\GLScene.Strings.pas
+Item_20=..\..\Source\GLScene.TextureFormat.pas
+Item_21=..\..\Source\GLScene.Triangulation.pas
+Item_22=..\..\Source\GLScene.Utils.pas
+Item_23=..\..\Source\GLScene.VectorGeometry.pas
+Item_24=..\..\Source\GLScene.VectorLists.pas
+Item_25=..\..\Source\GLScene.VectorTypes.pas
+Item_26=..\..\Source\GLScene.VectorTypesExt.pas
+Item_27=..\..\Source\GLScene.XCollection.pas
+Item_28=..\..\Sourcex\FMxCUDAEditor.pas
+Item_29=..\..\Sourcex\FMxGuiLayoutEditor.pas
+Item_30=..\..\Sourcex\FMxInfo.pas
+Item_31=..\..\Sourcex\FMxLibMaterialPicker.pas
+Item_32=..\..\Sourcex\FMxMaterialEditor.pas
+Item_33=..\..\Sourcex\FMxSceneEditor.pas
+Item_34=..\..\Sourcex\FMxShaderMemo.pas
+Item_35=..\..\Sourcex\FMxShaderUniformEditor.pas
+Item_36=..\..\Sourcex\FMxSkinEditor.pas
+Item_37=..\..\Sourcex\FMxXCollectionEditor.pas
+Item_38=..\..\Sourcex\Formatx.DDSImage.pas
+Item_39=..\..\Sourcex\Formatx.HDRImage.pas
+Item_40=..\..\Sourcex\Formatx.Q3MD3.pas
+Item_41=..\..\Sourcex\Formatx.TGA.pas
+Item_42=..\..\Sourcex\FRxColorEditor.pas
+Item_43=..\..\Sourcex\FRxFaceEditor.pas
+Item_44=..\..\Sourcex\FRxMaterialPreview.pas
+Item_45=..\..\Sourcex\FRxTextureEdit.pas
+Item_46=..\..\Sourcex\GBE.Clouds.pas
+Item_47=..\..\Sourcex\GBE.ConeExtend.pas
+Item_48=..\..\Sourcex\GBE.CubeExtend.pas
+Item_49=..\..\Sourcex\GBE.Cubemap.pas
+Item_50=..\..\Sourcex\GBE.CylinderExtend.pas
+Item_51=..\..\Sourcex\GBE.Grass.pas
+Item_52=..\..\Sourcex\GBE.Heightmap.pas
+Item_53=..\..\Sourcex\GBE.Joystick.pas
+Item_54=..\..\Sourcex\GBE.omOceanWaves.pas
+Item_55=..\..\Sourcex\GBE.PlaneExtend.pas
+Item_56=..\..\Sourcex\GBE.PlayerPosition.pas
+Item_57=..\..\Sourcex\GBE.SphereExtend.pas
+Item_58=..\..\Sourcex\GBE.Terrain.pas
+Item_59=..\..\Sourcex\GBE.TimeLine.pas
+Item_60=..\..\Sourcex\GBE.Viewport3D.pas
+Item_61=..\..\Sourcex\GXS.AnimatedSprite.pas
+Item_62=..\..\Sourcex\GXS.ApplicationFileIO.pas
+Item_63=..\..\Sourcex\GXS.ArchiveManager.pas
+Item_64=..\..\Sourcex\GXS.AsyncHDS.pas
+Item_65=..\..\Sourcex\GXS.AsyncTimer.pas
+Item_66=..\..\Sourcex\GXS.Atmosphere.pas
+Item_67=..\..\Sourcex\GXS.AVIRecorder.pas
+Item_68=..\..\Sourcex\GXS.BaseMeshSilhouette.pas
+Item_69=..\..\Sourcex\GXS.Behaviours.pas
+Item_70=..\..\Sourcex\GXS.BitmapFont.pas
+Item_71=..\..\Sourcex\GXS.Blur.pas
+Item_72=..\..\Sourcex\GXS.BSP.pas
+Item_73=..\..\Sourcex\GXS.BumpmapHDS.pas
+Item_74=..\..\Sourcex\GXS.BumpMapping.pas
+Item_75=..\..\Sourcex\GXS.Cadencer.pas
+Item_76=..\..\Sourcex\GXS.CameraController.pas
+Item_77=..\..\Sourcex\GXS.Canvas.pas
+Item_78=..\..\Sourcex\GXS.CelShader.pas
+Item_79=..\..\Sourcex\GXS.CgBombShader.pas
+Item_80=..\..\Sourcex\GXS.CgPostTransformationShader.pas
+Item_81=..\..\Sourcex\GXS.CgRegister.pas
+Item_82=..\..\Sourcex\GXS.CgShader.pas
+Item_83=..\..\Sourcex\GXS.Collision.pas
+Item_84=..\..\Sourcex\GXS.CompositeImage.pas
+Item_85=..\..\Sourcex\GXS.Console.pas
+Item_86=..\..\Sourcex\GXS.Context.pas
+Item_87=..\..\Sourcex\GXS.CUDA.API.pas
+Item_88=..\..\Sourcex\GXS.CUDA.Compiler.pas
+Item_89=..\..\Sourcex\GXS.CUDA.Context.pas
+Item_90=..\..\Sourcex\GXS.CUDA.FFTPlan.pas
+Item_91=..\..\Sourcex\GXS.CUDA.Graphics.pas
+Item_92=..\..\Sourcex\GXS.CyborgManager.pas
+Item_93=..\..\Sourcex\GXS.DCE.pas
+Item_94=..\..\Sourcex\GXS.DCEMisc.pas
+Item_95=..\..\Sourcex\GXS.DWSObjects.pas
+Item_96=..\..\Sourcex\GXS.DWSScene.pas
+Item_97=..\..\Sourcex\GXS.DynamicTexture.pas
+Item_98=..\..\Sourcex\GXS.EllipseCollision.pas
+Item_99=..\..\Sourcex\GXS.EParticleMasksManager.pas
+Item_100=..\..\Sourcex\GXS.ExplosionFx.pas
+Item_101=..\..\Sourcex\GXS.Extrusion.pas
+Item_102=..\..\Sourcex\GXS.FBO.pas
+Item_103=..\..\Sourcex\GXS.FBORenderer.pas
+Item_104=..\..\Sourcex\GXS.Feedback.pas
+Item_105=..\..\Sourcex\GXS.File3DS.pas
+Item_106=..\..\Sourcex\GXS.File3DSSceneObjects.pas
+Item_107=..\..\Sourcex\GXS.FileASE.pas
+Item_108=..\..\Sourcex\GXS.FileB3D.pas
+Item_109=..\..\Sourcex\GXS.FileBMP.pas
+Item_110=..\..\Sourcex\GXS.FileDAE.pas
+Item_111=..\..\Sourcex\GXS.FileDDS.pas
+Item_112=..\..\Sourcex\GXS.FileDXF.pas
+Item_113=..\..\Sourcex\GXS.FileGL2.pas
+Item_114=..\..\Sourcex\GXS.FileGLTF.pas
+Item_115=..\..\Sourcex\GXS.FileGRD.pas
+Item_116=..\..\Sourcex\GXS.FileGTS.pas
+Item_117=..\..\Sourcex\GXS.FileHDR.pas
+Item_118=..\..\Sourcex\GXS.FileJPEG.pas
+Item_119=..\..\Sourcex\GXS.FileLMTS.pas
+Item_120=..\..\Sourcex\GXS.FileLWO.pas
+Item_121=..\..\Sourcex\GXS.FileMD2.pas
+Item_122=..\..\Sourcex\GXS.FileMD3.pas
+Item_123=..\..\Sourcex\GXS.FileMD5.pas
+Item_124=..\..\Sourcex\GXS.FileMDC.pas
+Item_125=..\..\Sourcex\GXS.FileMP3.pas
+Item_126=..\..\Sourcex\GXS.FileMS3D.pas
+Item_127=..\..\Sourcex\GXS.FileNMF.pas
+Item_128=..\..\Sourcex\GXS.FileNurbs.pas
+Item_129=..\..\Sourcex\GXS.FileOBJ.pas
+Item_130=..\..\Sourcex\GXS.FileOCT.pas
+Item_131=..\..\Sourcex\GXS.FilePGM.pas
+Item_132=..\..\Sourcex\GXS.FilePLY.pas
+Item_133=..\..\Sourcex\GXS.FilePNG.pas
+Item_134=..\..\Sourcex\GXS.FileQ3BSP.pas
+Item_135=..\..\Sourcex\GXS.FileSMD.pas
+Item_136=..\..\Sourcex\GXS.FileSTL.pas
+Item_137=..\..\Sourcex\GXS.FileTGA.pas
+Item_138=..\..\Sourcex\GXS.FileTIN.pas
+Item_139=..\..\Sourcex\GXS.FileVRML.pas
+Item_140=..\..\Sourcex\GXS.FileWAV.pas
+Item_141=..\..\Sourcex\GXS.FileX.pas
+Item_142=..\..\Sourcex\GXS.FileZLIB.pas
+Item_143=..\..\Sourcex\GXS.FireFX.pas
+Item_144=..\..\Sourcex\GXS.FMX.Viewer.pas
+Item_145=..\..\Sourcex\GXS.FPSMovement.pas
+Item_146=..\..\Sourcex\GXS.FullScreenViewer.pas
+Item_147=..\..\Sourcex\GXS.GameMenu.pas
+Item_148=..\..\Sourcex\GXS.GeomObjects.pas
+Item_149=..\..\Sourcex\GXS.Gizmo.pas
+Item_150=..\..\Sourcex\GXS.GizmoEx.pas
+Item_151=..\..\Sourcex\GXS.GPURegister.pas
+Item_152=..\..\Sourcex\GXS.Graph.pas
+Item_153=..\..\Sourcex\GXS.Graphics.pas
+Item_154=..\..\Sourcex\GXS.Gui.pas
+Item_155=..\..\Sourcex\GXS.HeightData.pas
+Item_156=..\..\Sourcex\GXS.HeightTileFile.pas
+Item_157=..\..\Sourcex\GXS.HeightTileFileHDS.pas
+Item_158=..\..\Sourcex\GXS.HiddenLineShader.pas
+Item_159=..\..\Sourcex\GXS.HUDObjects.pas
+Item_160=..\..\Sourcex\GXS.ImageUtils.pas
+Item_161=..\..\Sourcex\GXS.Imposter.pas
+Item_162=..\..\Sourcex\GXS.InitOpenGL.pas
+Item_163=..\..\Sourcex\GXS.Isolines.pas
+Item_164=..\..\Sourcex\GXS.Isosurface.pas
+Item_165=..\..\Sourcex\GXS.Joystick.pas
+Item_166=..\..\Sourcex\GXS.LensFlare.pas
+Item_167=..\..\Sourcex\GXS.LinePFX.pas
+Item_168=..\..\Sourcex\GXS.Material.pas
+Item_169=..\..\Sourcex\GXS.MaterialMultiProxy.pas
+Item_170=..\..\Sourcex\GXS.MaterialScript.pas
+Item_171=..\..\Sourcex\GXS.Mesh.pas
+Item_172=..\..\Sourcex\GXS.MeshBuilder.pas
+Item_173=..\..\Sourcex\GXS.MeshCSG.pas
+Item_174=..\..\Sourcex\GXS.MeshLines.pas
+Item_175=..\..\Sourcex\GXS.MeshOptimizer.pas
+Item_176=..\..\Sourcex\GXS.MeshUtils.pas
+Item_177=..\..\Sourcex\GXS.Mirror.pas
+Item_178=..\..\Sourcex\GXS.Movement.pas
+Item_179=..\..\Sourcex\GXS.MultiMaterialShader.pas
+Item_180=..\..\Sourcex\GXS.MultiPolygon.pas
+Item_181=..\..\Sourcex\GXS.MultiProxy.pas
+Item_182=..\..\Sourcex\GXS.MultisampleImage.pas
+Item_183=..\..\Sourcex\GXS.Navigator.pas
+Item_184=..\..\Sourcex\GXS.NGDManager.pas
+Item_185=..\..\Sourcex\GXS.NGDRagdoll.pas
+Item_186=..\..\Sourcex\GXS.Nodes.pas
+Item_187=..\..\Sourcex\GXS.ObjectManager.pas
+Item_188=..\..\Sourcex\GXS.Objects.pas
+Item_189=..\..\Sourcex\GXS.Octree.pas
+Item_190=..\..\Sourcex\GXS.ODEManager.pas
+Item_191=..\..\Sourcex\GXS.ODERagdoll.pas
+Item_192=..\..\Sourcex\GXS.ODESkeletonColliders.pas
+Item_193=..\..\Sourcex\GXS.ODEUtils.pas
+Item_194=..\..\Sourcex\GXS.OpenGLAdapter.pas
+Item_195=..\..\Sourcex\GXS.OutlineShader.pas
+Item_196=..\..\Sourcex\GXS.PAKArchive.pas
+Item_197=..\..\Sourcex\GXS.ParallelRegister.pas
+Item_198=..\..\Sourcex\GXS.ParametricSurfaces.pas
+Item_199=..\..\Sourcex\GXS.ParticleFX.pas
+Item_200=..\..\Sourcex\GXS.Particles.pas
+Item_201=..\..\Sourcex\GXS.Perlin.pas
+Item_202=..\..\Sourcex\GXS.PerlinPFX.pas
+Item_203=..\..\Sourcex\GXS.PhysFields.pas
+Item_204=..\..\Sourcex\GXS.PhysForces.pas
+Item_205=..\..\Sourcex\GXS.Physics.Register.pas
+Item_206=..\..\Sourcex\GXS.PhysInertias.pas
+Item_207=..\..\Sourcex\GXS.PhysJoints.pas
+Item_208=..\..\Sourcex\GXS.PhysManager.pas
+Item_209=..\..\Sourcex\GXS.PhysX.pas
+Item_210=..\..\Sourcex\GXS.PictureRegisteredFormats.pas
+Item_211=..\..\Sourcex\GXS.PolygonTesselation.pas
+Item_212=..\..\Sourcex\GXS.Portal.pas
+Item_213=..\..\Sourcex\GXS.ProcTextures.pas
+Item_214=..\..\Sourcex\GXS.ProjectedTextures.pas
+Item_215=..\..\Sourcex\GXS.ProxyObjects.pas
+Item_216=..\..\Sourcex\GXS.Python.Script.pas
+Item_217=..\..\Sourcex\GXS.Ragdoll.pas
+Item_218=..\..\Sourcex\GXS.RandomHDS.pas
+Item_219=..\..\Sourcex\GXS.RegisterXCollection.pas
+Item_220=..\..\Sourcex\GXS.RenderContextInfo.pas
+Item_221=..\..\Sourcex\GXS.ROAMPatch.pas
+Item_222=..\..\Sourcex\GXS.Scene.pas
+Item_223=..\..\Sourcex\GXS.SceneRegister.pas
+Item_224=..\..\Sourcex\GXS.SceneViewer.pas
+Item_225=..\..\Sourcex\GXS.Screen.pas
+Item_226=..\..\Sourcex\GXS.ScreenSaver.pas
+Item_227=..\..\Sourcex\GXS.ScriptBase.pas
+Item_228=..\..\Sourcex\GXS.Selection.pas
+Item_229=..\..\Sourcex\GXS.ShadowHDS.pas
+Item_230=..\..\Sourcex\GXS.ShadowPlane.pas
+Item_231=..\..\Sourcex\GXS.ShadowVolume.pas
+Item_232=..\..\Sourcex\GXS.Silhouette.pas
+Item_233=..\..\Sourcex\GXS.SimpleNavigation.pas
+Item_234=..\..\Sourcex\GXS.Skydome.pas
+Item_235=..\..\Sourcex\GXS.SmartObjects.pas
+Item_236=..\..\Sourcex\GXS.SmoothNavigator.pas
+Item_237=..\..\Sourcex\GXS.SoundFileObjects.pas
+Item_238=..\..\Sourcex\GXS.SoundManager.pas
+Item_239=..\..\Sourcex\GXS.Sounds.BASS.pas
+Item_240=..\..\Sourcex\GXS.Sounds.FMOD.pas
+Item_241=..\..\Sourcex\GXS.Sounds.OpenAL.pas
+Item_242=..\..\Sourcex\GXS.Sounds.Register.pas
+Item_243=..\..\Sourcex\GXS.Sounds.WaveOut.pas
+Item_244=..\..\Sourcex\GXS.SpacePartition.pas
+Item_245=..\..\Sourcex\GXS.SpaceText.pas
+Item_246=..\..\Sourcex\GXS.SpatialPartitioning.pas
+Item_247=..\..\Sourcex\GXS.State.pas
+Item_248=..\..\Sourcex\GXS.TerrainRenderer.pas
+Item_249=..\..\Sourcex\GXS.TexLensFlare.pas
+Item_250=..\..\Sourcex\GXS.Texture.pas
+Item_251=..\..\Sourcex\GXS.TextureCombiners.pas
+Item_252=..\..\Sourcex\GXS.TexturedHDS.pas
+Item_253=..\..\Sourcex\GXS.TextureImageEditors.pas
+Item_254=..\..\Sourcex\GXS.ThorFX.pas
+Item_255=..\..\Sourcex\GXS.TilePlane.pas
+Item_256=..\..\Sourcex\GXS.TimeEventsMgr.pas
+Item_257=..\..\Sourcex\GXS.Trail.pas
+Item_258=..\..\Sourcex\GXS.Tree.pas
+Item_259=..\..\Sourcex\GXS.VectorFileObjects.pas
+Item_260=..\..\Sourcex\GXS.VerletClothify.pas
+Item_261=..\..\Sourcex\GXS.VerletTypes.pas
+Item_262=..\..\Sourcex\GXS.ViewerOpenGL.pas
+Item_263=..\..\Sourcex\GXS.WaterPlane.pas
+Item_264=..\..\Sourcex\GXS.WinContext.pas
+Item_265=..\..\Sourcex\GXS.Windows.pas
+Item_266=..\..\Sourcex\GXS.WindowsFont.pas
+Item_267=..\..\Sourcex\GXS.XCollectionRegister.pas
+Item_268=..\..\Sourcex\GXS.XOpenGL.pas
+Item_269=..\..\Sourcex\GXS.zBuffer.pas
+Item_270=..\..\Sourcex\GXSL.AsmShader.pas
+Item_271=..\..\Sourcex\GXSL.BumpShaders.pas
+Item_272=..\..\Sourcex\GXSL.CustomShader.pas
+Item_273=..\..\Sourcex\GXSL.DiffuseSpecularShader.pas
+Item_274=..\..\Sourcex\GXSL.LineShaders.pas
+Item_275=..\..\Sourcex\GXSL.MultiMaterialShader.pas
+Item_276=..\..\Sourcex\GXSL.Parameter.pas
+Item_277=..\..\Sourcex\GXSL.PhongShader.pas
+Item_278=..\..\Sourcex\GXSL.PostEffects.pas
+Item_279=..\..\Sourcex\GXSL.PostShaders.pas
+Item_280=..\..\Sourcex\GXSL.ProjectedTextures.pas
+Item_281=..\..\Sourcex\GXSL.Shader.pas
+Item_282=..\..\Sourcex\GXSL.ShaderCombiner.pas
+Item_283=..\..\Sourcex\GXSL.ShaderParameter.pas
+Item_284=..\..\Sourcex\GXSL.ShapeShaders.pas
+Item_285=..\..\Sourcex\GXSL.TextureShaders.pas
+Item_286=..\..\Sourcex\GXSL.UserShader.pas
+Item_287=..\..\Sourcex\omSailSurface.pas
+Item_288=..\..\Sourcex\OpenGLx.InitFMX.pas
+Item_289=..\..\Sourcex\SDLx.Context.pas
+Item_290=..\..\Sourcex\SDLx.Window.pas
+Item_291=..\..\Sourcex\uGBEImageUtils.pas
+Item_292=..\..\Sourcex\uGBEOptionsUtils.pas
+Item_293=..\..\Sourcex\uGBEPathFinder.pas
+Item_294=..\..\Sourcex\uGBESound.pas
+Item_295=..\..\Sourcex\uGBEUtils3D.pas
+
+[AdditionalFiles]
+Count=0
+
+[HyphenatedWords]
+Count=0
+
+[SpecialMarkers]
+Count=3
+Item_0=//
+Item_1=(*
+Item_2={
+
+[IgnoreWords]
+Count=0

BIN
Help/GXSysHelp/HTML/GXSysHelp.chm


+ 96 - 0
Help/GXSysHelp/HTML/pasdoc.css

@@ -0,0 +1,96 @@
+/* pasdoc.css
+   Styles used by PasDoc to generate HTML / Compiled HTML Documentation.*/  
+ 
+/* start css.sty */
+.cmr-10x-x-109{}
+.cmr-17{font-size:154%;}
+.cmr-12{font-size:109%;}
+.cmtt-10x-x-109{font-family: monospace;}
+.cmti-10x-x-109{ font-style: italic;}
+.cmsy-10x-x-109{}
+.cmbx-10x-x-109{ font-weight: bold;}
+.cmmi-10x-x-109{font-style: italic;}
+p.noindent { text-indent: 0em }
+p.nopar { text-indent: 0em; }
+p.indent{ text-indent: 1.5em }
+@media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+li p.indent { text-indent: 0em }
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+div.verbatim {font-family: monospace; white-space: nowrap; }
+span.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+table.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+div.array {text-align:center;}
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em;}
+table.tabular td p{margin-top:0em;}
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+.hline hr, .cline hr{ height : 1px; }
+.tabbing-right {text-align:right;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+span.TEX {letter-spacing: -0.125em; }
+span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
+a span.TEX span.E {text-decoration: none; }
+span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
+span.LATEX span.TEX{ position:relative; left: -0.4em; }
+.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+div.float img, div.float .caption {text-align:center;}
+div.figure img, div.figure .caption {text-align:center;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.pmatrix {text-align:center;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.caption td.id{font-weight: bold; white-space: nowrap; }
+table.caption {text-align:center;}
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:80%; font-style:italic; }
+div.author{white-space: nowrap;}
+.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.abstract p {margin-left:5%; margin-right:5%;}
+/* end css.sty */

+ 18 - 0
Help/GXSysHelp/IntroGXS.txt

@@ -0,0 +1,18 @@
+GXScene is an OpenGL based 3D library for Delphi and C++Builder. 
+It provides visual components and objects allowing description and effective rendering of 3D scenes.
+GXScene is not only an OpenGL wrapper or utility library, but it's grown to become a set of founding classes 
+for a generic 3D engine for the Rapid Application Development. 
+GXScene allows you to design and render 3D scenes quickly and without having to learn the intricacies of OpenGL: 
+if you know how to design a TForm, you'll easily master the basic operation of TGXScene. 
+Make sure to checkout the introduction tutorial included in the help folder.
+GXScene includes more than many components and a variety of founding classes. 
+The library comes with a comfortable set of demos showcasing the ease of use and demonstrating RAD wasn't done 
+at the expense of CPU horsepower. 
+The GXScene Sound System allows positional 3D audio via low-level APIs like 
+FMOD, BASS, OpenAL and WaveOut.
+Advanced demos and samples could be found in the project directory GXScene\Examples.
+Some additional options for compiler are in GLScene.Defines.inc (activated/deactivated, all are inactive by default):
+The option DEFINE Graphics32_SUPPORT controls support Alex Denissov's Graphics32 library 
+(http://www.graphics32.org), once activated will redirect assignments from TBitmap32 to TGLBitmap32.
+
+GLXS Team

+ 10 - 0
Help/GXSysHelp/ReadGXS.txt

@@ -0,0 +1,10 @@
+The directory for PasDoc scripts
+------------------------------------------------------------
+To generate GXSysHelp.chm you need to follow steps:
+1.Download PasDoc program from https://github.com/pasdoc/pasdoc/releases/tag/snapshot and setup it.
+2.Run the pasdoc_gui program and Open GXSysHelp.pds script 
+3.Click on the button Generate and create GXScene's help system files in HTML folder
+4.Download HTML Help Workshop 1.3 software from Microsoft site and setup it.
+5.Run the hhw.exe program from C:\Program Files (x86)\HTML Help Workshop\
+6.Open GXSysHelp.hhp project in ..GLScene\Help\GXSysHelp\HTML\ folder and compile it.
+7.Clean HTML folder using _CleanHTML.bat and find there the file GXSysHelp.chm

+ 8 - 0
Help/GXSysHelp/_CleanHTML.cmd

@@ -0,0 +1,8 @@
+rem del *.chm /s
+del *.html /s
+del *.htm /s
+del *.gif /s
+del *.hhc /s
+del *.hhk /s
+del *.hhp /s
+del *.log /s

+ 0 - 16
Help/License.txt

@@ -1,16 +0,0 @@
-Licensing GLScene 
-
-GLScene is distributed under Mozilla Public Licence (MPL 2.0), which means, in short, 
-that it is free for both freeware and commercial use. 
-The code is still copyrighted (in that it isn't public domain), but you can use it in products with closed or open-source freely. 
-The only requirements are:
-Acknowledge GLScene is used somewhere in your application (in an about box, credits page or printed manual, etc.
-with at least a link to http://glscene.org or https://github.com/glscene)
-Modifications made to GLScene units must be made public (no need to publish the full code, 
-only to state which parts were altered, and how), but feel welcome to open-source your code.
-Some units, API headers and DLLs are included in the GLScene package for convenience 
-but are not part of GLScene, may use different licensing scheme and have different copyright owners, 
-such files have an explicit notice attached to them or placed in their directory.
-
-------------------------------------------------------------------------------
-GLS Team

+ 2 - 2
Packages/GLScene_RT.dpk

@@ -78,7 +78,6 @@ contains
   GLS.Context in '..\Source\GLS.Context.pas',
   GLS.Coordinates in '..\Source\GLS.Coordinates.pas',
   GLS.CyborgManager in '..\Source\GLS.CyborgManager.pas',
-  GLScene.CurvesAndSurfaces in '..\Source\GLScene.CurvesAndSurfaces.pas',
   GLS.DCE in '..\Source\GLS.DCE.pas',
   GLS.DynamicTexture in '..\Source\GLS.DynamicTexture.pas',
   GLS.EParticleMasksManager in '..\Source\GLS.EParticleMasksManager.pas',
@@ -268,7 +267,8 @@ contains
   PasJSON in '..\Source\PasJSON.pas',
   GLS.OpenGLAdapter in '..\Source\GLS.OpenGLAdapter.pas',
   gnuGettext in '..\Source\gnuGettext.pas',
-  gnuGettextInit in '..\Source\gnuGettextInit.pas';
+  gnuGettextInit in '..\Source\gnuGettextInit.pas',
+  GLS.CurvesAndSurfaces in '..\Source\GLS.CurvesAndSurfaces.pas';
 
 end.
 

+ 1 - 1
Packages/GLScene_RT.dproj

@@ -203,7 +203,6 @@
         <DCCReference Include="..\Source\GLS.Context.pas"/>
         <DCCReference Include="..\Source\GLS.Coordinates.pas"/>
         <DCCReference Include="..\Source\GLS.CyborgManager.pas"/>
-        <DCCReference Include="..\Source\GLScene.CurvesAndSurfaces.pas"/>
         <DCCReference Include="..\Source\GLS.DCE.pas"/>
         <DCCReference Include="..\Source\GLS.DynamicTexture.pas"/>
         <DCCReference Include="..\Source\GLS.EParticleMasksManager.pas"/>
@@ -394,6 +393,7 @@
         <DCCReference Include="..\Source\GLS.OpenGLAdapter.pas"/>
         <DCCReference Include="..\Source\gnuGettext.pas"/>
         <DCCReference Include="..\Source\gnuGettextInit.pas"/>
+        <DCCReference Include="..\Source\GLS.CurvesAndSurfaces.pas"/>
         <None Include="..\Source\GLScene.Defines.inc"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>

+ 2 - 2
Packages/GXScene_RT.dpk

@@ -240,7 +240,7 @@ contains
   GLScene.Manager in '..\Source\GLScene.Manager.pas',
   GLScene.Generics in '..\Source\GLScene.Generics.pas',
   GLScene.GeometryBB in '..\Source\GLScene.GeometryBB.pas',
-  GLScene.CurvesAndSurfaces in '..\Source\GLScene.CurvesAndSurfaces.pas',
+  GXS.CurvesAndSurfaces in '..\Sourcex\GXS.CurvesAndSurfaces.pas',
   GLScene.AnimationUtils in '..\Source\GLScene.AnimationUtils.pas',
   Formats.X in '..\Source\Formats.X.pas',
   GLScene.TextureFormat in '..\Source\GLScene.TextureFormat.pas',
@@ -255,7 +255,7 @@ contains
   Formats.OCT in '..\Source\Formats.OCT.pas',
   Formats.Q3BSP in '..\Source\Formats.Q3BSP.pas',
   Formats.VFW in '..\Source\Formats.VFW.pas',
-  Formats.VRML in '..\Source\Formats.VRML.pas',
+  Formatx.VRML in '..\Sourcex\Formatx.VRML.pas',
   Formatx.Q3MD3 in '..\Sourcex\Formatx.Q3MD3.pas',
   Formats.B3D in '..\Source\Formats.B3D.pas',
   Formats.LWO in '..\Source\Formats.LWO.pas',

+ 2 - 2
Packages/GXScene_RT.dproj

@@ -389,7 +389,7 @@
         <DCCReference Include="..\Source\GLScene.Manager.pas"/>
         <DCCReference Include="..\Source\GLScene.Generics.pas"/>
         <DCCReference Include="..\Source\GLScene.GeometryBB.pas"/>
-        <DCCReference Include="..\Source\GLScene.CurvesAndSurfaces.pas"/>
+        <DCCReference Include="..\Sourcex\GXS.CurvesAndSurfaces.pas"/>
         <DCCReference Include="..\Source\GLScene.AnimationUtils.pas"/>
         <DCCReference Include="..\Source\Formats.X.pas"/>
         <DCCReference Include="..\Source\GLScene.TextureFormat.pas"/>
@@ -404,7 +404,7 @@
         <DCCReference Include="..\Source\Formats.OCT.pas"/>
         <DCCReference Include="..\Source\Formats.Q3BSP.pas"/>
         <DCCReference Include="..\Source\Formats.VFW.pas"/>
-        <DCCReference Include="..\Source\Formats.VRML.pas"/>
+        <DCCReference Include="..\Sourcex\Formatx.VRML.pas"/>
         <DCCReference Include="..\Sourcex\Formatx.Q3MD3.pas"/>
         <DCCReference Include="..\Source\Formats.B3D.pas"/>
         <DCCReference Include="..\Source\Formats.LWO.pas"/>

+ 10 - 10
Source/GLS.Behaviours.pas

@@ -69,12 +69,12 @@ type
   TGLBInertia = class(TGLBehaviour)
   private
     FMass: single;
-    FTranslationSpeed: TgCoordinates;
+    FTranslationSpeed: TGLCoordinates;
     FTurnSpeed, FRollSpeed, FPitchSpeed: single;
     FTranslationDamping, FRotationDamping: TGLDamping;
     FDampingEnabled: boolean;
   protected
-    procedure SetTranslationSpeed(const val: TgCoordinates);
+    procedure SetTranslationSpeed(const val: TGLCoordinates);
     procedure SetTranslationDamping(const val: TGLDamping);
     procedure SetRotationDamping(const val: TGLDamping);
     procedure WriteToFiler(writer: TWriter); override;
@@ -104,7 +104,7 @@ type
     procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: single);
   published
     property Mass: single read FMass write FMass;
-    property TranslationSpeed: TgCoordinates read FTranslationSpeed write SetTranslationSpeed;
+    property TranslationSpeed: TGLCoordinates read FTranslationSpeed write SetTranslationSpeed;
     property TurnSpeed: single read FTurnSpeed write FTurnSpeed;
     property RollSpeed: single read FRollSpeed write FRollSpeed;
     property PitchSpeed: single read FPitchSpeed write FPitchSpeed;
@@ -128,9 +128,9 @@ type
   // Applies a constant acceleration to a TGLBInertia.  
   TGLBAcceleration = class(TGLBehaviour)
   private
-    FAcceleration: TgCoordinates;
+    FAcceleration: TGLCoordinates;
   protected
-    procedure SetAcceleration(const val: TgCoordinates);
+    procedure SetAcceleration(const val: TGLCoordinates);
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
   public
@@ -142,7 +142,7 @@ type
     class function UniqueItem: boolean; override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
-    property Acceleration: TgCoordinates read FAcceleration write FAcceleration;
+    property Acceleration: TGLCoordinates read FAcceleration write FAcceleration;
   end;
 
 (* Returns or creates the TGLBInertia within the given behaviours. 
@@ -306,7 +306,7 @@ end;
 constructor TGLBInertia.Create(aOwner: TXCollection);
 begin
   inherited Create(aOwner);
-  FTranslationSpeed := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FTranslationSpeed := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   FMass := 1;
   FDampingEnabled := True;
   FTranslationDamping := TGLDamping.Create(Self);
@@ -371,7 +371,7 @@ begin
   end;
 end;
 
-procedure TGLBInertia.SetTranslationSpeed(const val: TgCoordinates);
+procedure TGLBInertia.SetTranslationSpeed(const val: TGLCoordinates);
 begin
   FTranslationSpeed.Assign(val);
 end;
@@ -519,7 +519,7 @@ begin
   if aOwner <> nil then
     if not (csReading in TComponent(aOwner.Owner).ComponentState) then
       GetOrCreateInertia(TGLBehaviours(aOwner));
-  FAcceleration := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FAcceleration := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
 end;
 
 destructor TGLBAcceleration.Destroy;
@@ -557,7 +557,7 @@ begin
   end;
 end;
 
-procedure TGLBAcceleration.SetAcceleration(const val: TgCoordinates);
+procedure TGLBAcceleration.SetAcceleration(const val: TGLCoordinates);
 begin
   FAcceleration.Assign(val);
 end;

+ 4 - 4
Source/GLS.BumpmapHDS.pas

@@ -109,13 +109,13 @@ type
 (*  Some useful methods for setting up bump maps. *)
 procedure CalcObjectSpaceLightVectors(Light : TAffineVector;
                                       Vertices: TGLAffineVectorList;
-                                      Colors: TGVectorList);
+                                      Colors: TGLVectorList);
 procedure SetupTangentSpace(Vertices, Normals, TexCoords,
                             Tangents, BiNormals : TGLAffineVectorList);
 procedure CalcTangentSpaceLightVectors(Light : TAffineVector;
                                        Vertices, Normals,
                                        Tangents, BiNormals : TGLAffineVectorList;
-                                       Colors: TGVectorList);
+                                       Colors: TGLVectorList);
 function CreateObjectSpaceNormalMap(Width, Height : Integer;
                                     HiNormals,HiTexCoords : TGLAffineVectorList) : TBitmap;
 function CreateTangentSpaceNormalMap(Width, Height : Integer;
@@ -349,7 +349,7 @@ end;
 
 //----------------- BumpMapping routines ---------------------
 
-procedure CalcObjectSpaceLightVectors(Light: TAffineVector; Vertices: TGLAffineVectorList; Colors: TGVectorList);
+procedure CalcObjectSpaceLightVectors(Light: TAffineVector; Vertices: TGLAffineVectorList; Colors: TGLVectorList);
 var
   i: Integer;
   vec: TAffineVector;
@@ -456,7 +456,7 @@ end;
 
 procedure CalcTangentSpaceLightVectors(Light: TAffineVector;
   Vertices, Normals, Tangents, BiNormals: TGLAffineVectorList;
-  Colors: TGVectorList);
+  Colors: TGLVectorList);
 var
   i: Integer;
   mat: TAffineMatrix;

+ 2 - 2
Source/GLS.CgShader.pas

@@ -185,7 +185,7 @@ type
     procedure EnableTexture;
     procedure DisableTexture;
     // Procedures for setting varying parameters with an array of values.
-    procedure SetParameterPointer(Values: TGVectorList); overload;
+    procedure SetParameterPointer(Values: TGLVectorList); overload;
     procedure SetParameterPointer(Values: TGLAffineVectorList); overload;
     procedure EnableClientState;
     procedure DisableClientState;
@@ -949,7 +949,7 @@ begin
   cgGLSetParameterPointer(FHandle, 3, GL_FLOAT, 0, Values.List);
 end;
 
-procedure TCgParameter.SetParameterPointer(Values: TGVectorList);
+procedure TCgParameter.SetParameterPointer(Values: TGLVectorList);
 begin
   Assert(FVariability = CG_VARYING);
   cgGLSetParameterPointer(FHandle, 4, GL_FLOAT, 0, Values.List);

+ 78 - 78
Source/GLS.Coordinates.pas

@@ -5,7 +5,7 @@ unit GLS.Coordinates;
 (*
   Coordinate related classes and functions.
   The registered classes are:
-    [TgCoordinates2, TgCoordinates3, TgCoordinates4]
+    [TGLCoordinates2, TGLCoordinates3, TGLCoordinates4]
 *)
 interface
 
@@ -22,22 +22,22 @@ uses
 
 type
 
-  (* Identifies the type of data stored within a TgCustomCoordinates.
+  (* Identifies the type of data stored within a TGLCustomCoordinates.
      csPoint2D : a simple 2D point (Z=0, W=0)
      csPoint : a point (W=1)
      csVector : a vector (W=0)
      csUnknown : no constraint *)
-  TgCoordinatesStyle = (csPoint2D, csPoint, csVector, csUnknown);
+  TGLCoordinatesStyle = (csPoint2D, csPoint, csVector, csUnknown);
 
   (* Stores any homogeneous vector.
     This class is basicly a container for a TGLVector, allowing proper use of
     property editors and editing in the IDE. Vector/Coordinates
     manipulation methods are only minimal.
     Handles dynamic default values to save resource file space.  *)
-  TgCustomCoordinates = class(TGLUpdateAbleObject)
+  TGLCustomCoordinates = class(TGLUpdateAbleObject)
   private
     FCoords: TGLVector;
-    FStyle: TgCoordinatesStyle; // NOT Persistent
+    FStyle: TGLCoordinatesStyle; // NOT Persistent
     FPDefaultCoords: PGLVector;
     procedure SetAsPoint2D(const Value: TVector2f);
     procedure SetAsVector(const Value: TGLVector);
@@ -56,7 +56,7 @@ type
     procedure WriteData(Stream: TStream);
   public
     constructor CreateInitialized(AOwner: TPersistent; const AValue: TGLVector;
-      const AStyle: TgCoordinatesStyle = CsUnknown);
+      const AStyle: TGLCoordinatesStyle = CsUnknown);
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure WriteToFiler(Writer: TWriter);
@@ -66,10 +66,10 @@ type
     (* Identifies the coordinates styles.
       The property is NOT persistent, csUnknown by default, and should be
       managed by owner object only (internally).
-      It is used by the TgCustomCoordinates for internal "assertion" checks
+      It is used by the TGLCustomCoordinates for internal "assertion" checks
       to detect "misuses" or "misunderstandings" of what the homogeneous
       coordinates system implies. *)
-    property Style: TgCoordinatesStyle read FStyle write FStyle;
+    property Style: TGLCoordinatesStyle read FStyle write FStyle;
     procedure Translate(const TranslationVector: TGLVector); overload;
     procedure Translate(const TranslationVector: TAffineVector); overload;
     procedure AddScaledVector(const Factor: Single; const TranslationVector: TGLVector); overload;
@@ -124,23 +124,23 @@ type
     property DirectW: Single index 3 read GetDirectCoordinate write SetDirectCoordinate;
   end;
 
-  // A TgCustomCoordinates that publishes X, Y properties.
-  TgCoordinates2 = class(TgCustomCoordinates)
+  // A TGLCustomCoordinates that publishes X, Y properties.
+  TGLCoordinates2 = class(TGLCustomCoordinates)
   published
     property X stored False;
     property Y stored False;
   end;
 
-  // A TgCustomCoordinates that publishes X, Y, Z properties.
-  TgCoordinates3 = class(TgCustomCoordinates)
+  // A TGLCustomCoordinates that publishes X, Y, Z properties.
+  TGLCoordinates3 = class(TGLCustomCoordinates)
   published
     property X stored False;
     property Y stored False;
     property Z stored False;
   end;
 
-  // A TgCustomCoordinates that publishes X, Y, Z, W properties.
-  TgCoordinates4 = class(TgCustomCoordinates)
+  // A TGLCustomCoordinates that publishes X, Y, Z, W properties.
+  TGLCoordinates4 = class(TGLCustomCoordinates)
   published
     property X stored False;
     property Y stored False;
@@ -148,19 +148,19 @@ type
     property W stored False;
   end;
 
-  TgCoordinates = TgCoordinates3;
+  TGLCoordinates = TGLCoordinates3;
 
-  (* Actually Sender should be TgCustomCoordinates, but that would require
+  (* Actually Sender should be TGLCustomCoordinates, but that would require
      changes in a some other GLScene units and some other projects that use
-     TgCoordinatesUpdateAbleComponent *)
-  IGCoordinatesUpdateAble = interface(IInterface)
+     TGLCoordinatesUpdateAbleComponent *)
+  IGLCoordinatesUpdateAble = interface(IInterface)
     ['{ACB98D20-8905-43A7-AFA5-225CF5FA6FF5}']
-    procedure CoordinateChanged(Sender: TgCustomCoordinates);
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates);
   end;
 
-  TgCoordinatesUpdateAbleComponent = class(TGLUpdateAbleComponent, IGCoordinatesUpdateAble)
+  TGLCoordinatesUpdateAbleComponent = class(TGLUpdateAbleComponent, IGLCoordinatesUpdateAble)
   public
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); virtual; abstract;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); virtual; abstract;
   end;
 
 (* Calculates the barycentric coordinates for the point p on the triangle
@@ -307,7 +307,7 @@ procedure BipolarCylindrical_Cartesian(const u, v, z1, a: double;
   var x, y, z: double; var ierr: integer); overload;
 
 var
-  (* Specifies if TgCustomCoordinates should allocate memory for
+  (* Specifies if TGLCustomCoordinates should allocate memory for
     their default values (ie. design-time) or not (run-time) *)
   VUseDefaultCoordinateSets: Boolean = False;
 
@@ -319,25 +319,25 @@ const
   csPoint2DHelp = 'When getting assertions here use one of the SetVector or SetPoint procedures';
 
   // ------------------
-  // ------------------ TgCustomCoordinates ------------------
+  // ------------------ TGLCustomCoordinates ------------------
   // ------------------
 
-constructor TgCustomCoordinates.CreateInitialized(AOwner: TPersistent;
-  const AValue: TGLVector; const AStyle: TgCoordinatesStyle = CsUnknown);
+constructor TGLCustomCoordinates.CreateInitialized(AOwner: TPersistent;
+  const AValue: TGLVector; const AStyle: TGLCoordinatesStyle = CsUnknown);
 begin
   Create(AOwner);
   Initialize(AValue);
   FStyle := AStyle;
 end;
 
-destructor TgCustomCoordinates.Destroy;
+destructor TGLCustomCoordinates.Destroy;
 begin
   if Assigned(FPDefaultCoords) then
     Dispose(FPDefaultCoords);
   inherited;
 end;
 
-procedure TgCustomCoordinates.Initialize(const Value: TGLVector);
+procedure TGLCustomCoordinates.Initialize(const Value: TGLVector);
 begin
   FCoords := Value;
   if VUseDefaultCoordinateSets then
@@ -348,15 +348,15 @@ begin
   end;
 end;
 
-procedure TgCustomCoordinates.Assign(Source: TPersistent);
+procedure TGLCustomCoordinates.Assign(Source: TPersistent);
 begin
-  if Source is TgCustomCoordinates then
-    FCoords := TgCustomCoordinates(Source).FCoords
+  if Source is TGLCustomCoordinates then
+    FCoords := TGLCustomCoordinates(Source).FCoords
   else
     inherited;
 end;
 
-procedure TgCustomCoordinates.WriteToFiler(Writer: TWriter);
+procedure TGLCustomCoordinates.WriteToFiler(Writer: TWriter);
 var
   WriteCoords: Boolean;
 begin
@@ -373,7 +373,7 @@ begin
   end;
 end;
 
-procedure TgCustomCoordinates.ReadFromFiler(Reader: TReader);
+procedure TGLCustomCoordinates.ReadFromFiler(Reader: TReader);
 var
   N: Integer;
 begin
@@ -391,33 +391,33 @@ begin
   end;
 end;
 
-procedure TgCustomCoordinates.DefineProperties(Filer: TFiler);
+procedure TGLCustomCoordinates.DefineProperties(Filer: TFiler);
 begin
   inherited;
   Filer.DefineBinaryProperty('Coordinates', ReadData, WriteData,
     not(Assigned(FPDefaultCoords) and VectorEquals(FPDefaultCoords^, FCoords)));
 end;
 
-procedure TgCustomCoordinates.ReadData(Stream: TStream);
+procedure TGLCustomCoordinates.ReadData(Stream: TStream);
 begin
   Stream.Read(FCoords, SizeOf(FCoords));
 end;
 
-procedure TgCustomCoordinates.WriteData(Stream: TStream);
+procedure TGLCustomCoordinates.WriteData(Stream: TStream);
 begin
   Stream.Write(FCoords, SizeOf(FCoords));
 end;
 
-procedure TgCustomCoordinates.NotifyChange(Sender: TObject);
+procedure TGLCustomCoordinates.NotifyChange(Sender: TObject);
 var
-  Int: IGCoordinatesUpdateAble;
+  Int: IGLCoordinatesUpdateAble;
 begin
-  if Supports(Owner, IGCoordinatesUpdateAble, Int) then
-    Int.CoordinateChanged(TgCoordinates(Self));
+  if Supports(Owner, IGLCoordinatesUpdateAble, Int) then
+    Int.CoordinateChanged(TGLCoordinates(Self));
   inherited NotifyChange(Sender);
 end;
 
-procedure TgCustomCoordinates.Translate(const TranslationVector: TGLVector);
+procedure TGLCustomCoordinates.Translate(const TranslationVector: TGLVector);
 begin
   FCoords.X := FCoords.X + TranslationVector.X;
   FCoords.Y := FCoords.Y + TranslationVector.Y;
@@ -425,7 +425,7 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.Translate(const TranslationVector
+procedure TGLCustomCoordinates.Translate(const TranslationVector
   : TAffineVector);
 begin
   FCoords.X := FCoords.X + TranslationVector.X;
@@ -434,7 +434,7 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.AddScaledVector(const Factor: Single;
+procedure TGLCustomCoordinates.AddScaledVector(const Factor: Single;
   const TranslationVector: TGLVector);
 var
   F: Single;
@@ -444,7 +444,7 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.AddScaledVector(const Factor: Single;
+procedure TGLCustomCoordinates.AddScaledVector(const Factor: Single;
   const TranslationVector: TAffineVector);
 var
   F: Single;
@@ -454,92 +454,92 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.Rotate(const AnAxis: TAffineVector;
+procedure TGLCustomCoordinates.Rotate(const AnAxis: TAffineVector;
   AnAngle: Single);
 begin
   RotateVector(FCoords, AnAxis, AnAngle);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.Rotate(const AnAxis: TGLVector; AnAngle: Single);
+procedure TGLCustomCoordinates.Rotate(const AnAxis: TGLVector; AnAngle: Single);
 begin
   RotateVector(FCoords, AnAxis, AnAngle);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.Normalize;
+procedure TGLCustomCoordinates.Normalize;
 begin
   NormalizeVector(FCoords);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.Invert;
+procedure TGLCustomCoordinates.Invert;
 begin
   NegateVector(FCoords);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.Scale(Factor: Single);
+procedure TGLCustomCoordinates.Scale(Factor: Single);
 begin
   ScaleVector(PAffineVector(@FCoords)^, Factor);
   NotifyChange(Self);
 end;
 
-function TgCustomCoordinates.VectorLength: Single;
+function TGLCustomCoordinates.VectorLength: Single;
 begin
   Result := GLScene.VectorGeometry.VectorLength(FCoords);
 end;
 
-function TgCustomCoordinates.VectorNorm: Single;
+function TGLCustomCoordinates.VectorNorm: Single;
 begin
   Result := GLScene.VectorGeometry.VectorNorm(FCoords);
 end;
 
-function TgCustomCoordinates.MaxXYZ: Single;
+function TGLCustomCoordinates.MaxXYZ: Single;
 begin
   Result := MaxXYZComponent(FCoords);
 end;
 
-function TgCustomCoordinates.Equals(const AVector: TGLVector): Boolean;
+function TGLCustomCoordinates.Equals(const AVector: TGLVector): Boolean;
 begin
   Result := VectorEquals(FCoords, AVector);
 end;
 
-procedure TgCustomCoordinates.SetVector(const X, Y: Single; Z: Single = 0);
+procedure TGLCustomCoordinates.SetVector(const X, Y: Single; Z: Single = 0);
 begin
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, X, Y, Z);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetVector(const V: TAffineVector);
+procedure TGLCustomCoordinates.SetVector(const V: TAffineVector);
 begin
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, V);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetVector(const V: TGLVector);
+procedure TGLCustomCoordinates.SetVector(const V: TGLVector);
 begin
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, V);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetVector(const X, Y, Z, W: Single);
+procedure TGLCustomCoordinates.SetVector(const X, Y, Z, W: Single);
 begin
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, X, Y, Z, W);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetDirectCoordinate(const Index: Integer;
+procedure TGLCustomCoordinates.SetDirectCoordinate(const Index: Integer;
   const AValue: Single);
 begin
   FCoords.V[index] := AValue;
 end;
 
-procedure TgCustomCoordinates.SetDirectVector(const V: TGLVector);
+procedure TGLCustomCoordinates.SetDirectVector(const V: TGLVector);
 begin
   FCoords.X := V.X;
   FCoords.Y := V.Y;
@@ -547,7 +547,7 @@ begin
   FCoords.W := V.W;
 end;
 
-procedure TgCustomCoordinates.SetToZero;
+procedure TGLCustomCoordinates.SetToZero;
 begin
   FCoords.X := 0;
   FCoords.Y := 0;
@@ -559,61 +559,61 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint(const X, Y, Z: Single);
+procedure TGLCustomCoordinates.SetPoint(const X, Y, Z: Single);
 begin
   Assert(FStyle = CsPoint, CsPointHelp);
   MakePoint(FCoords, X, Y, Z);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint(const V: TAffineVector);
+procedure TGLCustomCoordinates.SetPoint(const V: TAffineVector);
 begin
   Assert(FStyle = CsPoint, CsPointHelp);
   MakePoint(FCoords, V);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint(const V: TGLVector);
+procedure TGLCustomCoordinates.SetPoint(const V: TGLVector);
 begin
   Assert(FStyle = CsPoint, CsPointHelp);
   MakePoint(FCoords, V);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint2D(const X, Y: Single);
+procedure TGLCustomCoordinates.SetPoint2D(const X, Y: Single);
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   GLScene.VectorGeometry.MakeVector(FCoords, X, Y, 0);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint2D(const Vector: TAffineVector);
+procedure TGLCustomCoordinates.SetPoint2D(const Vector: TAffineVector);
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   MakeVector(FCoords, Vector);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint2D(const Vector: TGLVector);
+procedure TGLCustomCoordinates.SetPoint2D(const Vector: TGLVector);
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   MakeVector(FCoords, Vector);
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetPoint2D(const Vector: TVector2f);
+procedure TGLCustomCoordinates.SetPoint2D(const Vector: TVector2f);
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   MakeVector(FCoords, Vector.X, Vector.Y, 0);
   NotifyChange(Self);
 end;
 
-function TgCustomCoordinates.AsAddress: PSingle;
+function TGLCustomCoordinates.AsAddress: PSingle;
 begin
   Result := @FCoords;
 end;
 
-procedure TgCustomCoordinates.SetAsVector(const Value: TGLVector);
+procedure TGLCustomCoordinates.SetAsVector(const Value: TGLVector);
 begin
   FCoords := Value;
   case FStyle of
@@ -632,7 +632,7 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetAsAffineVector(const Value: TAffineVector);
+procedure TGLCustomCoordinates.SetAsAffineVector(const Value: TAffineVector);
 begin
   case FStyle of
     CsPoint2D:
@@ -647,7 +647,7 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TgCustomCoordinates.SetAsPoint2D(const Value: TVector2f);
+procedure TGLCustomCoordinates.SetAsPoint2D(const Value: TVector2f);
 begin
   case FStyle of
     CsPoint2D, CsPoint, CsVector:
@@ -663,36 +663,36 @@ begin
   NotifyChange(Self);
 end;
 
-function TgCustomCoordinates.GetAsAffineVector: TAffineVector;
+function TGLCustomCoordinates.GetAsAffineVector: TAffineVector;
 begin
   GLScene.VectorGeometry.SetVector(Result, FCoords);
 end;
 
-function TgCustomCoordinates.GetAsPoint2D: TVector2f;
+function TGLCustomCoordinates.GetAsPoint2D: TVector2f;
 begin
   Result.X := FCoords.X;
   Result.Y := FCoords.Y;
 end;
 
-procedure TgCustomCoordinates.SetCoordinate(const AIndex: Integer;
+procedure TGLCustomCoordinates.SetCoordinate(const AIndex: Integer;
   const AValue: Single);
 begin
   FCoords.V[AIndex] := AValue;
   NotifyChange(Self);
 end;
 
-function TgCustomCoordinates.GetCoordinate(const AIndex: Integer): Single;
+function TGLCustomCoordinates.GetCoordinate(const AIndex: Integer): Single;
 begin
   Result := FCoords.V[AIndex];
 end;
 
-function TgCustomCoordinates.GetDirectCoordinate(
+function TGLCustomCoordinates.GetDirectCoordinate(
   const Index: Integer): Single;
 begin
   Result := FCoords.V[index]
 end;
 
-function TgCustomCoordinates.GetAsString: String;
+function TGLCustomCoordinates.GetAsString: String;
 begin
   case Style of
     CsPoint2D:
@@ -1179,10 +1179,10 @@ end;
 
 initialization //------------------------------------------------------------
 
-RegisterClasses([TgCoordinates2, TgCoordinates3, TgCoordinates4]);
+RegisterClasses([TGLCoordinates2, TGLCoordinates3, TGLCoordinates4]);
 
 finalization //--------------------------------------------------------------
 
-// UnRegisterClasses([TgCoordinates2, TgCoordinates3, TgCoordinates4]);
+// UnRegisterClasses([TGLCoordinates2, TGLCoordinates3, TGLCoordinates4]);
 
 end.

+ 1 - 1
Source/GLScene.CurvesAndSurfaces.pas → Source/GLS.CurvesAndSurfaces.pas

@@ -1,7 +1,7 @@
 //
 // The graphics engine GLScene https://github.com/glscene
 //
-unit GLScene.CurvesAndSurfaces;
+unit GLS.CurvesAndSurfaces;
 
 (* Bezier and B-Spline Curve and Surface Routines *)
 

+ 15 - 15
Source/GLS.DCE.pas

@@ -86,13 +86,13 @@ type
     FStatics: TList;
     FDynamics: TList;
     FGravity: single;
-    FWorldDirection: TgCoordinates; // Used to calculate jumps f.i.
+    FWorldDirection: TGLCoordinates; // Used to calculate jumps f.i.
     FWorldScale: single;
     FMovimentScale: single;
     FStandardiseLayers: TDCECollisionSelection;
     FManualStep: Boolean;
     FOnCollision: TDCECollisionEvent;
-    procedure SetWorldDirection(const Value: TgCoordinates);
+    procedure SetWorldDirection(const Value: TGLCoordinates);
     procedure SetWorldScale(const Value: single);
     function GetDynamicCount: Integer;
     function GetStaticCount: Integer;
@@ -114,7 +114,7 @@ type
     property StaticCount: Integer read GetStaticCount;
   published
     property Gravity: single read FGravity write FGravity;
-    property WorldDirection: TgCoordinates read FWorldDirection
+    property WorldDirection: TGLCoordinates read FWorldDirection
       write SetWorldDirection;
     property WorldScale: single read FWorldScale write SetWorldScale;
     property MovimentScale: single read FMovimentScale write FMovimentScale;
@@ -137,13 +137,13 @@ type
     FSolid: Boolean;
     FFriction: single; // 0 (no friction); 100 (no movement)
     FBounceFactor: single; // 0 (don't bounce); 1 (bounce forever)
-    FSize: TgCoordinates;
+    FSize: TGLCoordinates;
     // Events
     FOnCollision: TDCEObjectCollisionEvent;
     procedure SetShape(const Value: TDCEShape);
     procedure SetFriction(const Value: single);
     procedure SetBounceFactor(const Value: single);
-    procedure SetSize(const Value: TgCoordinates);
+    procedure SetSize(const Value: TGLCoordinates);
   protected
     procedure SetManager(const val: TGLDCEManager);
     procedure WriteToFiler(writer: TWriter); override;
@@ -165,7 +165,7 @@ type
     property Solid: Boolean read FSolid write FSolid;
     property Friction: single read FFriction write SetFriction;
     property BounceFactor: single read FBounceFactor write SetBounceFactor;
-    property Size: TgCoordinates read FSize write SetSize;
+    property Size: TGLCoordinates read FSize write SetSize;
   end;
 
   TDCESlideOrBounce = (csbSlide, csbBounce);
@@ -181,7 +181,7 @@ type
     // Collide and slide if true, otherwise it "walk thru walls"
     FFriction: single; // 0 (no friction); 100 (no movement)
     FBounceFactor: single; // 0 (don't bounce); 1 (bounce forever)
-    FSize: TgCoordinates;
+    FSize: TGLCoordinates;
     // Number of iterations of the collision method
     FMaxRecursionDepth: byte;
     FSlideOrBounce: TDCESlideOrBounce; // gak20041122
@@ -200,7 +200,7 @@ type
     FOnCollision: TDCEObjectCollisionEvent;
     procedure SetFriction(const Value: single);
     procedure SetBounceFactor(const Value: single);
-    procedure SetSize(const Value: TgCoordinates);
+    procedure SetSize(const Value: TGLCoordinates);
   protected
     procedure SetManager(const val: TGLDCEManager);
     procedure WriteToFiler(writer: TWriter); override;
@@ -238,7 +238,7 @@ type
     property Solid: Boolean read FSolid write FSolid;
     property Friction: single read FFriction write SetFriction;
     property BounceFactor: single read FBounceFactor write SetBounceFactor;
-    property Size: TgCoordinates read FSize write SetSize;
+    property Size: TGLCoordinates read FSize write SetSize;
     property SlideOrBounce: TDCESlideOrBounce read FSlideOrBounce
       write FSlideOrBounce;
   end;
@@ -512,7 +512,7 @@ begin
   FStatics := TList.Create;
   FDynamics := TList.Create;
   FGravity := 0;
-  FWorldDirection := TgCoordinates.CreateInitialized(Self, YHmgVector,
+  FWorldDirection := TGLCoordinates.CreateInitialized(Self, YHmgVector,
     csVector);
   FWorldScale := 1;
   FMovimentScale := 1;
@@ -768,7 +768,7 @@ begin
         DoMove(deltaTime);
 end;
 
-procedure TGLDCEManager.SetWorldDirection(const Value: TgCoordinates);
+procedure TGLDCEManager.SetWorldDirection(const Value: TGLCoordinates);
 begin
   FWorldDirection := Value;
   FWorldDirection.Normalize;
@@ -866,7 +866,7 @@ constructor TGLDCEStatic.Create(AOwner: TXCollection);
 begin
   inherited Create(AOwner);
   FActive := True;
-  FSize := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
+  FSize := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
   FShape := csEllipsoid;
   FSolid := True;
   FFriction := 1;
@@ -981,7 +981,7 @@ begin
   FShape := Value;
 end;
 
-procedure TGLDCEStatic.SetSize(const Value: TgCoordinates);
+procedure TGLDCEStatic.SetSize(const Value: TGLCoordinates);
 begin
   FSize.Assign(Value);
   if FSize.x <= 0 then
@@ -1049,7 +1049,7 @@ begin
   inherited Create(AOwner);
   FActive := True;
   FUseGravity := True;
-  FSize := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
+  FSize := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
   FSolid := True;
   FFriction := 1;
   FBounceFactor := 0;
@@ -1302,7 +1302,7 @@ begin
   end;
 end;
 
-procedure TGLDCEDynamic.SetSize(const Value: TgCoordinates);
+procedure TGLDCEDynamic.SetSize(const Value: TGLCoordinates);
 begin
   FSize.Assign(Value);
   if FSize.x <= 0 then

+ 6 - 6
Source/GLS.EParticleMasksManager.pas

@@ -50,8 +50,8 @@ type
   TGLEParticleMask = class(TCollectionItem, IGLMaterialLibrarySupported)
   private
     FName: string;
-    FScale: TgCoordinates;
-    FPosition: TgCoordinates;
+    FScale: TGLCoordinates;
+    FPosition: TGLCoordinates;
     FYMask: TGLLibMaterialName;
     FZMask: TGLLibMaterialName;
     FXMask: TGLLibMaterialName;
@@ -97,8 +97,8 @@ type
       TGLEProjectedParticleMask; Depth: Integer);
   published
     // scales and positions
-    property Scale: TgCoordinates read FScale write FScale;
-    property Position: TgCoordinates read FPosition write FPosition;
+    property Scale: TGLCoordinates read FScale write FScale;
+    property Position: TGLCoordinates read FPosition write FPosition;
     // the reference name of the particle mask
     property Name: string read FName write SetName;
     property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
@@ -210,8 +210,8 @@ begin
 
   FName := 'ParticleMask' + IntToStr(ID);
 
-  FScale := TgCoordinates.CreateInitialized(Self, XYZHMGVector, csPoint);
-  FPosition := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FScale := TGLCoordinates.CreateInitialized(Self, XYZHMGVector, csPoint);
+  FPosition := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FMaterialLibrary := nil;
 
   FMaskColor := clWhite;

+ 5 - 5
Source/GLS.ExplosionFx.pas

@@ -48,14 +48,14 @@ type
     FEnabled: boolean;
     FFaceCount: integer;
     FSpeed: single;
-    FDirection: TgCoordinates;
+    FDirection: TGLCoordinates;
     FMaxSteps: integer;
     FStep: integer;
     procedure SetTriList(Value: TGLAffineVectorList);
     procedure SetRotList(Value: TGLAffineVectorList);
     procedure SetDirList(Value: TGLAffineVectorList);
     procedure SetPosList(Value: TGLAffineVectorList);
-    procedure SetDirection(value: TgCoordinates);
+    procedure SetDirection(value: TGLCoordinates);
     procedure SetEnabled(value: boolean);
   protected
     property TriList: TGLAffineVectorList read FTriList write SetTriList;
@@ -78,7 +78,7 @@ type
   published
     property MaxSteps: integer read FMaxSteps write FMaxSteps;
     property Speed: single read FSpeed write FSpeed;
-    property Direction: TgCoordinates read FDirection write SetDirection;
+    property Direction: TGLCoordinates read FDirection write SetDirection;
   end;
 
 //-------------------------------------------------------------------------
@@ -96,7 +96,7 @@ begin
   FRotList := TGLAffineVectorList.Create;
   FDirList := TGLAffineVectorList.Create;
   FPosList := TGLAffineVectorList.Create;
-  FDirection := TgCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
+  FDirection := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
 end;
 
 destructor TGLBExplosionFX.Destroy;
@@ -140,7 +140,7 @@ begin
   FPosList.Assign(Value);
 end;
 
-procedure TGLBExplosionFx.SetDirection(Value: TgCoordinates);
+procedure TGLBExplosionFx.SetDirection(Value: TGLCoordinates);
 begin
   Value.Normalize;
   FDirection.Assign(Value);

+ 4 - 4
Source/GLS.Feedback.pas

@@ -64,7 +64,7 @@ type
     procedure BuildMeshFromBuffer(
       Vertices: TGLAffineVectorList = nil;
       Normals: TGLAffineVectorList = nil;
-      Colors: TGVectorList = nil;
+      Colors: TGLVectorList = nil;
       TexCoords: TGLAffineVectorList = nil;
       VertexIndices: TgIntegerList = nil);
     // True when there is data in the buffer ready for parsing
@@ -187,7 +187,7 @@ end;
 procedure TGLFeedback.BuildMeshFromBuffer(
   Vertices: TGLAffineVectorList = nil;
   Normals: TGLAffineVectorList = nil;
-  Colors: TGVectorList = nil;
+  Colors: TGLVectorList = nil;
   TexCoords: TGLAffineVectorList = nil;
   VertexIndices: TgIntegerList = nil);
 var
@@ -195,14 +195,14 @@ var
   i, j, LCount, skip: Integer;
   vertex, color, texcoord: TGLVector;
   tempVertices, tempNormals, tempTexCoords: TGLAffineVectorList;
-  tempColors: TGVectorList;
+  tempColors: TGLVectorList;
   tempIndices: TgIntegerList;
   ColorBuffered, TexCoordBuffered: Boolean;
 begin
   Assert(FMode <> fm2D, 'Cannot build mesh from fm2D feedback mode.');
 
   tempVertices := TGLAffineVectorList.Create;
-  tempColors := TGVectorList.Create;
+  tempColors := TGLVectorList.Create;
   tempTexCoords := TGLAffineVectorList.Create;
 
   ColorBuffered := (FMode = fm3DColor) or

+ 21 - 21
Source/GLS.File3DSSceneObjects.pas

@@ -30,32 +30,32 @@ uses
 type
   TGLFile3DSLight = class(TGLLightSource)
   private
-    FTargetPos: TgCoordinates;
+    FTargetPos: TGLCoordinates;
     FHotSpot: Single;
     FMultipler: Single;
   public
     constructor Create(AOwner: TComponent); override;
     procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     destructor Destroy; override;
   published
-    property SpotTargetPos: TgCoordinates read FTargetPos;
+    property SpotTargetPos: TGLCoordinates read FTargetPos;
     property HotSpot: Single read FHotSpot write FHotSpot;
     property Multipler: Single read FMultipler write FMultipler;
   end;
 
   TGLFile3DSCamera = class(TGLCamera)
   private
-    FTargetPos: TgCoordinates;
+    FTargetPos: TGLCoordinates;
     FQuadCyl: array[0..1] of PGLUquadric;
     FQuadDisk: array[0..1] of PGLUquadric;
   public
     constructor Create(AOwner: TComponent); override;
     procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     destructor Destroy; override;
   published
-    property CameraTargetPos: TgCoordinates read FTargetPos;
+    property CameraTargetPos: TGLCoordinates read FTargetPos;
     property RollAngle;
   end;
 
@@ -71,9 +71,9 @@ type
   private
     FTransfMat, FScaleMat, ParentMatrix: TGLMatrix;
 
-    FS_Rot3DS: TgCoordinates4;
-    FRot3DS: TgCoordinates4;
-    FScale3DS: TgCoordinates4;
+    FS_Rot3DS: TGLCoordinates4;
+    FRot3DS: TGLCoordinates4;
+    FScale3DS: TGLCoordinates4;
     procedure ReadMesh(Stream: TStream);
     procedure WriteMesh(Stream: TStream);
   protected
@@ -83,13 +83,13 @@ type
     constructor Create(AOWner: TComponent); override;
     destructor Destroy; override;
     procedure BuildList(var rci: TGLRenderContextInfo); override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     function AxisAlignedDimensionsUnscaled: TGLVector; override;
     function BarycenterAbsolutePosition: TGLVector; override;
   published
-    property S_Rot3DS: TgCoordinates4 read FS_Rot3DS;
-    property Rot3DS: TgCoordinates4 read FRot3DS;
-    property Scale3DS: TgCoordinates4 read FScale3DS;
+    property S_Rot3DS: TGLCoordinates4 read FS_Rot3DS;
+    property Rot3DS: TGLCoordinates4 read FRot3DS;
+    property Scale3DS: TGLCoordinates4 read FScale3DS;
   end;
 
 var
@@ -163,7 +163,7 @@ constructor TGLFile3DSLight.Create(AOwner: TComponent);
 begin
   inherited;
 
-  FTargetPos := TgCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
+  FTargetPos := TGLCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
   FHotSpot := 1;
   FMultipler := 1;
 end;
@@ -215,7 +215,7 @@ begin
   gl.PopMatrix;
 end;
 
-procedure TGLFile3DSLight.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLFile3DSLight.CoordinateChanged(Sender: TGLCustomCoordinates);
 begin
   inherited;
 
@@ -235,7 +235,7 @@ var
 begin
   inherited;
 
-  FTargetPos := TgCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
+  FTargetPos := TGLCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
 
   for I := 0 to 1 do
   begin
@@ -302,7 +302,7 @@ begin
   rci.GLStates.PolygonMode := pmFill;
 end;
 
-procedure TGLFile3DSCamera.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLFile3DSCamera.CoordinateChanged(Sender: TGLCustomCoordinates);
 begin
   inherited;
 
@@ -356,9 +356,9 @@ begin
   FRefMat := IdentityHmgMatrix;
   FTransfMat := IdentityHmgMatrix;
   FScaleMat := IdentityHmgMatrix;
-  FS_Rot3DS := TgCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
-  FRot3DS := TgCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
-  FScale3DS := TgCoordinates4.CreateInitialized(self, VectorMake(1, 1, 1), csVector);
+  FS_Rot3DS := TGLCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
+  FRot3DS := TGLCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
+  FScale3DS := TGLCoordinates4.CreateInitialized(self, VectorMake(1, 1, 1), csVector);
 
   ObjectStyle := [osDirectDraw];
 end;
@@ -434,7 +434,7 @@ begin
   ParentMatrix := MatrixMultiply(FTransfMat, ParentMatrix);
 end;
 
-procedure TGLFile3DSFreeForm.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLFile3DSFreeForm.CoordinateChanged(Sender: TGLCustomCoordinates);
 var
   quat, quat1, quat2: TQuaternion;
 begin

+ 9 - 9
Source/GLS.FireFX.pas

@@ -52,7 +52,7 @@ type
   private
     FClients: TList;
     FFireParticles: PGLFireParticleArray;
-    FFireDir, FInitialDir: TgCoordinates;
+    FFireDir, FInitialDir: TGLCoordinates;
     FCadencer: TGLCadencer;
     FMaxParticles, FParticleLife: Integer;
     FParticleSize, FFireDensity, FFireEvaporation: Single;
@@ -67,8 +67,8 @@ type
     procedure RegisterClient(aClient: TGLBFireFX);
     procedure DeRegisterClient(aClient: TGLBFireFX);
     procedure DeRegisterAllClients;
-    procedure SetFireDir(const val: TgCoordinates);
-    procedure SetInitialDir(const val: TgCoordinates);
+    procedure SetFireDir(const val: TGLCoordinates);
+    procedure SetInitialDir(const val: TGLCoordinates);
     procedure SetCadencer(const val: TGLCadencer);
     function StoreParticleSize: Boolean;
     procedure SetInnerColor(const val: TGColor);
@@ -100,9 +100,9 @@ type
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
     // Adjusts the acceleration direction (abs coordinates).
-    property FireDir: TgCoordinates read FFireDir write SetFireDir;
+    property FireDir: TGLCoordinates read FFireDir write SetFireDir;
     // Adjusts the initial direction (abs coordinates).
-    property InitialDir: TgCoordinates read FInitialDir write SetInitialDir;
+    property InitialDir: TGLCoordinates read FInitialDir write SetInitialDir;
     // The cadencer that will "drive" the animation of the system.
     property Cadencer: TGLCadencer read FCadencer write SetCadencer;
     // Maximum number of simultaneous particles in the system.
@@ -210,8 +210,8 @@ begin
   inherited Create(AOwner);
   FClients := TList.Create;
   RegisterManager(Self);
-  FFireDir := TgCoordinates.CreateInitialized(Self, VectorMake(0, 0.5, 0), csPoint);
-  FInitialDir := TgCoordinates.CreateInitialized(Self, YHmgVector, csPoint);
+  FFireDir := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 0.5, 0), csPoint);
+  FInitialDir := TGLCoordinates.CreateInitialized(Self, YHmgVector, csPoint);
   FMaxParticles := 256;
   FParticleSize := 1.0;
   FInnerColor := TGColor.Create(Self);
@@ -280,13 +280,13 @@ begin
 end;
 
 
-procedure TGLFireFXManager.SetFireDir(const val: TgCoordinates);
+procedure TGLFireFXManager.SetFireDir(const val: TGLCoordinates);
 begin
   FFireDir.Assign(val);
 end;
 
 
-procedure TGLFireFXManager.SetInitialDir(const val: TgCoordinates);
+procedure TGLFireFXManager.SetInitialDir(const val: TGLCoordinates);
 begin
   FInitialDir.Assign(val);
 end;

+ 5 - 5
Source/GLS.Gizmo.pas

@@ -63,12 +63,12 @@ type
   TGLGizmoUndoItem = class(TCollectionItem)
   private
     FOldLibMaterialName: string;
-    FOldAutoScaling: TgCoordinates;
+    FOldAutoScaling: TGLCoordinates;
     FEffectedObject: TGLCustomSceneObject;
     FOldMatr: TGLMatrix;
     FOldMatrix: TGLMatrix;
     procedure SetEffectedObject(const Value: TGLCustomSceneObject);
-    procedure SetOldAutoScaling(const Value: TgCoordinates);
+    procedure SetOldAutoScaling(const Value: TGLCoordinates);
     procedure SetOldMatrix(const Value: TGLMatrix);
   protected
     procedure DoUndo; virtual;
@@ -85,7 +85,7 @@ type
   published
     property EffectedObject: TGLCustomSceneObject read FEffectedObject
       write SetEffectedObject;
-    property OldAutoScaling: TgCoordinates read FOldAutoScaling
+    property OldAutoScaling: TGLCoordinates read FOldAutoScaling
       write SetOldAutoScaling;
     property OldLibMaterialName: string read FOldLibMaterialName
       write FOldLibMaterialName;
@@ -1717,7 +1717,7 @@ end;
 constructor TGLGizmoUndoItem.Create(AOwner: TCollection);
 begin
   inherited;
-  FOldAutoScaling := TgCoordinates.CreateInitialized(Self,
+  FOldAutoScaling := TGLCoordinates.CreateInitialized(Self,
     NullHmgVector, CsPoint);
 end;
 
@@ -1768,7 +1768,7 @@ begin
     FEffectedObject.FreeNotification(GetGizmo);
 end;
 
-procedure TGLGizmoUndoItem.SetOldAutoScaling(const Value: TgCoordinates);
+procedure TGLGizmoUndoItem.SetOldAutoScaling(const Value: TGLCoordinates);
 begin
   FOldAutoScaling.Assign(Value);
 end;

+ 9 - 9
Source/GLS.Gui.pas

@@ -79,9 +79,9 @@ type
 
   TGLGuiElement = class(TCollectionItem)
   private
-    FTopLeft: TgCoordinates2;
-    FBottomRight: TgCoordinates2;
-    FScale: TgCoordinates2;
+    FTopLeft: TGLCoordinates2;
+    FBottomRight: TGLCoordinates2;
+    FScale: TGLCoordinates2;
     FAlign: TGUIAlignments;
     FName: TGLGuiElementName;
   protected
@@ -92,9 +92,9 @@ type
     destructor Destroy; override;
     procedure AssignTo(Dest: TPersistent); override;
   published
-    property TopLeft: TgCoordinates2 read FTopLeft write FTopLeft;
-    property BottomRight: TgCoordinates2 read FBottomRight write FBottomRight;
-    property Scale: TgCoordinates2 read FScale write FScale;
+    property TopLeft: TGLCoordinates2 read FTopLeft write FTopLeft;
+    property BottomRight: TGLCoordinates2 read FBottomRight write FBottomRight;
+    property Scale: TGLCoordinates2 read FScale write FScale;
     property Align: TGUIAlignments read FAlign write FAlign;
     property Name: TGLGuiElementName read FName write SetName;
   end;
@@ -1166,10 +1166,10 @@ end;
 constructor TGLGuiElement.Create(Collection: TCollection);
 begin
   inherited;
-  FTopLeft := TgCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2D);
-  FBottomRight := TgCoordinates2.CreateInitialized(Self, NullHmgVector,
+  FTopLeft := TGLCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2D);
+  FBottomRight := TGLCoordinates2.CreateInitialized(Self, NullHmgVector,
     csPoint2D);
-  FScale := TgCoordinates2.CreateInitialized(Self, XYHmgVector, csPoint2D);
+  FScale := TGLCoordinates2.CreateInitialized(Self, XYHmgVector, csPoint2D);
 end;
 
 destructor TGLGuiElement.Destroy;

+ 5 - 5
Source/GLS.Imposter.pas

@@ -114,7 +114,7 @@ type
   TGLImposterBuilder = class(TGLUpdateAbleComponent)
   private
     FBackColor: TGColor;
-    FBuildOffset: TgCoordinates;
+    FBuildOffset: TGLCoordinates;
     FImposterRegister: TgPersistentObjectList;
     FRenderPoint: TGLRenderPoint;
     FImposterOptions: TImposterOptions;
@@ -126,7 +126,7 @@ type
     procedure SetRenderPoint(AValue: TGLRenderPoint);
     procedure RenderPointFreed(Sender: TObject);
     procedure SetBackColor(AValue: TGColor);
-    procedure SetBuildOffset(AValue: TgCoordinates);
+    procedure SetBuildOffset(AValue: TGLCoordinates);
     procedure SetImposterReference(AValue: TImposterReference);
     procedure InitializeImpostorTexture(const TextureSize: TPoint);
     property ImposterRegister: TgPersistentObjectList read FImposterRegister;
@@ -166,7 +166,7 @@ type
     property BackColor: TGColor read FBackColor write SetBackColor;
     (* Offset applied to the impostor'ed object during imposter construction.
        Can be used to manually tune the centering of objects. *)
-    property BuildOffset: TgCoordinates read FBuildOffset write SetBuildOffset;
+    property BuildOffset: TGLCoordinates read FBuildOffset write SetBuildOffset;
     // Imposter rendering options.
     property ImposterOptions: TImposterOptions read FImposterOptions write
       FImposterOptions default cDefaultImposterOptions;
@@ -549,7 +549,7 @@ begin
   inherited;
   FImposterRegister := TgPersistentObjectList.Create;
   FBackColor := TGColor.CreateInitialized(Self, clrTransparent);
-  FBuildOffset := TgCoordinates.CreateInitialized(Self, NullHmgPoint, CsPoint);
+  FBuildOffset := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, CsPoint);
   FImposterOptions := cDefaultImposterOptions;
   FAlphaTreshold := 0.5;
 end;
@@ -718,7 +718,7 @@ begin
   FBackColor.Assign(AValue);
 end;
 
-procedure TGLImposterBuilder.SetBuildOffset(AValue: TgCoordinates);
+procedure TGLImposterBuilder.SetBuildOffset(AValue: TGLCoordinates);
 begin
   FBuildOffset.Assign(AValue);
 end;

+ 9 - 9
Source/GLS.Material.pas

@@ -457,7 +457,7 @@ type
   TGLLibMaterial = class(TGLAbstractLibMaterial, IGLTextureNotifyAble)
   private
     FMaterial: TGLMaterial;
-    FTextureOffset, FTextureScale: TgCoordinates;
+    FTextureOffset, FTextureScale: TGLCoordinates;
     FTextureRotate: Single;
     FTextureMatrixIsIdentity: Boolean;
     FTextureOverride: Boolean;
@@ -468,8 +468,8 @@ type
   protected
     procedure Loaded; override;
     procedure SetMaterial(const val: TGLMaterial);
-    procedure SetTextureOffset(const val: TgCoordinates);
-    procedure SetTextureScale(const val: TgCoordinates);
+    procedure SetTextureOffset(const val: TGLCoordinates);
+    procedure SetTextureScale(const val: TGLCoordinates);
     procedure SetTextureMatrix(const Value: TGLMatrix);
     procedure SetTexture2Name(const val: TGLLibMaterialName);
     procedure SetShader(const val: TGLShader);
@@ -495,13 +495,13 @@ type
   published
     property Material: TGLMaterial read FMaterial write SetMaterial;
     // Texture offset in texture coordinates. The offset is applied after scaling
-    property TextureOffset: TgCoordinates read FTextureOffset write
+    property TextureOffset: TGLCoordinates read FTextureOffset write
       SetTextureOffset;
     (* Texture coordinates scaling.
        Scaling is applied <i>before</i> applying the offset, and is applied
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
        will make your texture look twice smaller *)
-    property TextureScale: TgCoordinates read FTextureScale write
+    property TextureScale: TGLCoordinates read FTextureScale write
       SetTextureScale;
     property TextureRotate: Single read FTextureRotate write
       SetTextureRotate stored StoreTextureRotate;
@@ -1741,9 +1741,9 @@ begin
   inherited Create(ACollection);
   FMaterial := TGLMaterial.Create(Self);
   FMaterial.Texture.OnTextureNeeded := DoOnTextureNeeded;
-  FTextureOffset := TgCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
+  FTextureOffset := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
   FTextureOffset.OnNotifyChange := OnNotifyChange;
-  FTextureScale := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
+  FTextureScale := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
   FTextureScale.OnNotifyChange := OnNotifyChange;
   FTextureRotate := 0;
   FTextureOverride := False;
@@ -1957,13 +1957,13 @@ begin
   FMaterial.Assign(val);
 end;
 
-procedure TGLLibMaterial.SetTextureOffset(const val: TgCoordinates);
+procedure TGLLibMaterial.SetTextureOffset(const val: TGLCoordinates);
 begin
   FTextureOffset.AsVector := val.AsVector;
   CalculateTextureMatrix;
 end;
 
-procedure TGLLibMaterial.SetTextureScale(const val: TgCoordinates);
+procedure TGLLibMaterial.SetTextureScale(const val: TGLCoordinates);
 begin
   FTextureScale.AsVector := val.AsVector;
   CalculateTextureMatrix;

+ 41 - 41
Source/GLS.MaterialEx.pas

@@ -403,43 +403,43 @@ type
     FLibSamplerName: TGLMaterialComponentName;
     FLibTexture: TGLAbstractTexture;
     FLibSampler: TGLTextureSampler;
-    FTextureOffset, FTextureScale: TgCoordinates;
+    FTextureOffset, FTextureScale: TGLCoordinates;
     FTextureRotate: Single;
     FTextureMatrixIsIdentity: Boolean;
     FTextureOverride: Boolean;
     FTextureMatrix: TGLMatrix;
     FMappingMode: TGLTextureMappingMode;
     FEnvColor: TGColor;
-    FMapSCoordinates: TgCoordinates4;
-    FMapTCoordinates: TgCoordinates4;
-    FMapRCoordinates: TgCoordinates4;
-    FMapQCoordinates: TgCoordinates4;
+    FMapSCoordinates: TGLCoordinates4;
+    FMapTCoordinates: TGLCoordinates4;
+    FMapRCoordinates: TGLCoordinates4;
+    FMapQCoordinates: TGLCoordinates4;
     FSwizzling: TGLTextureSwizzling;
     function GetLibTextureName: TGLMaterialComponentName;
     function GetLibSamplerName: TGLMaterialComponentName;
     procedure SetLibTextureName(const AValue: TGLMaterialComponentName);
     procedure SetLibSamplerName(const AValue: TGLMaterialComponentName);
-    function GetTextureOffset: TgCoordinates;
-    procedure SetTextureOffset(const AValue: TgCoordinates);
+    function GetTextureOffset: TGLCoordinates;
+    procedure SetTextureOffset(const AValue: TGLCoordinates);
     function StoreTextureOffset: Boolean;
-    function GetTextureScale: TgCoordinates;
-    procedure SetTextureScale(const AValue: TgCoordinates);
+    function GetTextureScale: TGLCoordinates;
+    procedure SetTextureScale(const AValue: TGLCoordinates);
     function StoreTextureScale: Boolean;
     procedure SetTextureMatrix(const AValue: TGLMatrix);
     procedure SetTextureRotate(AValue: Single);
     function StoreTextureRotate: Boolean;
     procedure SetMappingMode(const AValue: TGLTextureMappingMode);
-    function GetMappingSCoordinates: TgCoordinates4;
-    procedure SetMappingSCoordinates(const AValue: TgCoordinates4);
+    function GetMappingSCoordinates: TGLCoordinates4;
+    procedure SetMappingSCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingSCoordinates: Boolean;
-    function GetMappingTCoordinates: TgCoordinates4;
-    procedure SetMappingTCoordinates(const AValue: TgCoordinates4);
+    function GetMappingTCoordinates: TGLCoordinates4;
+    procedure SetMappingTCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingTCoordinates: Boolean;
-    function GetMappingRCoordinates: TgCoordinates4;
-    procedure SetMappingRCoordinates(const AValue: TgCoordinates4);
+    function GetMappingRCoordinates: TGLCoordinates4;
+    procedure SetMappingRCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingRCoordinates: Boolean;
-    function GetMappingQCoordinates: TgCoordinates4;
-    procedure SetMappingQCoordinates(const AValue: TgCoordinates4);
+    function GetMappingQCoordinates: TGLCoordinates4;
+    procedure SetMappingQCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingQCoordinates: Boolean;
     procedure SetSwizzling(const AValue: TGLTextureSwizzling);
     function StoreSwizzling: Boolean;
@@ -464,13 +464,13 @@ type
       write SetLibTextureName;
     property LibSamplerName: TGLMaterialComponentName read GetLibSamplerName
       write SetLibSamplerName;
-    property TextureOffset: TgCoordinates read GetTextureOffset write
+    property TextureOffset: TGLCoordinates read GetTextureOffset write
       SetTextureOffset stored StoreTextureOffset;
     (* Texture coordinates scaling.
        Scaling is applied before applying the offset, and is applied
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
        will make your texture look twice smaller. *)
-    property TextureScale: TgCoordinates read GetTextureScale write
+    property TextureScale: TGLCoordinates read GetTextureScale write
       SetTextureScale stored StoreTextureScale;
     (* Texture coordinates rotating.
        Rotating is applied after applying offset and scale,
@@ -486,13 +486,13 @@ type
     (* Texture mapping coordinates mode for S, T, R and Q axis.
     This property stores the coordinates for automatic texture
     coordinates generation. *)
-    property MappingSCoordinates: TgCoordinates4 read GetMappingSCoordinates
+    property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates
       write SetMappingSCoordinates stored StoreMappingSCoordinates;
-    property MappingTCoordinates: TgCoordinates4 read GetMappingTCoordinates
+    property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates
       write SetMappingTCoordinates stored StoreMappingTCoordinates;
-    property MappingRCoordinates: TgCoordinates4 read GetMappingRCoordinates
+    property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates
       write SetMappingRCoordinates stored StoreMappingRCoordinates;
-    property MappingQCoordinates: TgCoordinates4 read GetMappingQCoordinates
+    property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates
       write SetMappingQCoordinates stored StoreMappingQCoordinates;
     // Texture color fetching parameters.
     property Swizzling: TGLTextureSwizzling read FSwizzling write
@@ -3710,51 +3710,51 @@ begin
     Result := '';
 end;
 
-function TGLTextureProperties.GetMappingQCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingQCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapQCoordinates) then
-    FMapQCoordinates := TgCoordinates4.CreateInitialized(Self, WHmgVector,
+    FMapQCoordinates := TGLCoordinates4.CreateInitialized(Self, WHmgVector,
       csVector);
   Result := FMapQCoordinates;
 end;
 
-function TGLTextureProperties.GetMappingRCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingRCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapRCoordinates) then
-    FMapRCoordinates := TgCoordinates4.CreateInitialized(Self, ZHmgVector,
+    FMapRCoordinates := TGLCoordinates4.CreateInitialized(Self, ZHmgVector,
       csVector);
   Result := FMapRCoordinates;
 end;
 
-function TGLTextureProperties.GetMappingSCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingSCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapSCoordinates) then
-    FMapSCoordinates := TgCoordinates4.CreateInitialized(Self, XHmgVector,
+    FMapSCoordinates := TGLCoordinates4.CreateInitialized(Self, XHmgVector,
       csVector);
   Result := FMapSCoordinates;
 end;
 
-function TGLTextureProperties.GetMappingTCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingTCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapTCoordinates) then
-    FMapTCoordinates := TgCoordinates4.CreateInitialized(Self, YHmgVector,
+    FMapTCoordinates := TGLCoordinates4.CreateInitialized(Self, YHmgVector,
       csVector);
   Result := FMapTCoordinates;
 end;
 
-function TGLTextureProperties.GetTextureOffset: TgCoordinates;
+function TGLTextureProperties.GetTextureOffset: TGLCoordinates;
 begin
   if not Assigned(FTextureOffset) then
     FTextureOffset :=
-      TgCoordinates3.CreateInitialized(Self, NullHmgVector, csPoint);
+      TGLCoordinates3.CreateInitialized(Self, NullHmgVector, csPoint);
   Result := FTextureOffset;
 end;
 
-function TGLTextureProperties.GetTextureScale: TgCoordinates;
+function TGLTextureProperties.GetTextureScale: TGLCoordinates;
 begin
   if not Assigned(FTextureScale) then
     FTextureScale :=
-      TgCoordinates3.CreateInitialized(Self, VectorMake(1, 1, 1, 1), csVector);
+      TGLCoordinates3.CreateInitialized(Self, VectorMake(1, 1, 1, 1), csVector);
   Result := FTextureScale;
 end;
 
@@ -3874,25 +3874,25 @@ begin
 end;
 
 procedure TGLTextureProperties.SetMappingQCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
   MappingQCoordinates.Assign(AValue);
 end;
 
 procedure TGLTextureProperties.SetMappingRCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
   MappingRCoordinates.Assign(AValue);
 end;
 
 procedure TGLTextureProperties.SetMappingSCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
   MappingSCoordinates.Assign(AValue);
 end;
 
 procedure TGLTextureProperties.SetMappingTCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
   MappingTCoordinates.Assign(AValue);
 end;
@@ -3911,7 +3911,7 @@ begin
   NotifyChange(Self);
 end;
 
-procedure TGLTextureProperties.SetTextureOffset(const AValue: TgCoordinates);
+procedure TGLTextureProperties.SetTextureOffset(const AValue: TGLCoordinates);
 begin
   TextureOffset.Assign(AValue);
   CalculateTextureMatrix;
@@ -3927,7 +3927,7 @@ begin
   end;
 end;
 
-procedure TGLTextureProperties.SetTextureScale(const AValue: TgCoordinates);
+procedure TGLTextureProperties.SetTextureScale(const AValue: TGLCoordinates);
 begin
   TextureScale.Assign(AValue);
   CalculateTextureMatrix;

+ 2 - 2
Source/GLS.MaterialScript.pas

@@ -95,9 +95,9 @@ type
     Infini: Longint;
     Done: Boolean;
     NewMat: TGLLibMaterial;
-    TmpCoords: TgCoordinates;
+    TmpCoords: TGLCoordinates;
     TmpColor: TGColor;
-    TmpCoords4: TgCoordinates4;
+    TmpCoords4: TGLCoordinates4;
     TmpStr: string;
     procedure SeTGLShaderItems(const Value: TGLShaderItems);
     procedure SeTGLMaterialLibraryItems(const Value: TGLMaterialLibraryItems);

+ 1 - 1
Source/GLS.MeshLines.pas

@@ -108,7 +108,7 @@ type
   published
   end;
 
-  TGLLightmapBounds = class(TgCustomCoordinates)
+  TGLLightmapBounds = class(TGLCustomCoordinates)
   private
     function GetLeft: TGLFloat;
     function GetTop: TGLFloat;

+ 3 - 3
Source/GLS.MultiPolygon.pas

@@ -139,7 +139,7 @@ type
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
-    procedure AddNode(const i: Integer; const coords: TgCoordinates); overload;
+    procedure AddNode(const i: Integer; const coords: TGLCoordinates); overload;
     procedure AddNode(const i: Integer; const X, Y, Z: TGLfloat); overload;
     procedure AddNode(const i: Integer; const value: TGLVector); overload;
     procedure AddNode(const i: Integer; const value: TAffineVector); overload;
@@ -169,7 +169,7 @@ type
   end;
 
   (* Page oriented pointer array, with persistent pointer target memory.
-    In TGVectorList a pointer to a vector will not be valid any more after
+    In TGLVectorList a pointer to a vector will not be valid any more after
     a call to SetCapacity, which might be done implicitely during Add.
     The TGLVectorPool keeps memory in its original position during its
     whole lifetime. *)
@@ -436,7 +436,7 @@ begin
 end;
 
 
-procedure TGLMultiPolygonBase.AddNode(const i: Integer; const coords: TgCoordinates);
+procedure TGLMultiPolygonBase.AddNode(const i: Integer; const coords: TGLCoordinates);
 begin
   Path[i].AddNode(coords);
 end;

+ 55 - 55
Source/GLS.NGDManager.pas

@@ -147,10 +147,10 @@ type
     FSolverModel: TGLNGDSolverModels; // Default=Exact
     FFrictionModel: TGLNGDFrictionModels; // Default=Exact
     FMinimumFrameRate: Integer; // Default=60
-    FWorldSizeMin: TgCoordinates; // Default=-100, -100, -100
-    FWorldSizeMax: TgCoordinates; // Default=100, 100, 100
+    FWorldSizeMin: TGLCoordinates; // Default=-100, -100, -100
+    FWorldSizeMax: TGLCoordinates; // Default=100, 100, 100
     FThreadCount: Integer; // Default=1
-    FGravity: TgCoordinates; // Default=(0,-9.81,0)
+    FGravity: TGLCoordinates; // Default=(0,-9.81,0)
     FNewtonSurfaceItem: TCollection;
     FNewtonSurfacePair: TOwnedCollection;
     FNewtonJointGroup: TOwnedCollection;
@@ -171,7 +171,7 @@ type
     procedure SetGLLines(const Value: TGLLines);
     function GetBodyCount: Integer;
     function GetConstraintCount: Integer;
-    procedure AddNode(const coords: TgCustomCoordinates); overload;
+    procedure AddNode(const coords: TGLCustomCoordinates); overload;
     procedure AddNode(const X, Y, Z: Single); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -196,9 +196,9 @@ type
     property DllVersion: Integer read FDllVersion;
     property NewtonBodyCount: Integer read GetBodyCount;
     property NewtonConstraintCount: Integer read GetConstraintCount;
-    property Gravity: TgCoordinates read FGravity write FGravity;
-    property WorldSizeMin: TgCoordinates read FWorldSizeMin write FWorldSizeMin;
-    property WorldSizeMax: TgCoordinates read FWorldSizeMax write FWorldSizeMax;
+    property Gravity: TGLCoordinates read FGravity write FGravity;
+    property WorldSizeMin: TGLCoordinates read FWorldSizeMin write FWorldSizeMin;
+    property WorldSizeMax: TGLCoordinates read FWorldSizeMax write FWorldSizeMax;
     property NewtonSurfaceItem: TCollection read FNewtonSurfaceItem write FNewtonSurfaceItem;
     property NewtonSurfacePair: TOwnedCollection read FNewtonSurfacePair write FNewtonSurfacePair;
     property DebugOption: TGLNGDDebugOption read FNewtonDebugOption write FNewtonDebugOption;
@@ -289,14 +289,14 @@ type
 
   TGLNGDDynamic = class(TGLNGDBehaviour)
   strict private
-    FAABBmin: TgCoordinates;
-    FAABBmax: TgCoordinates;
-    FForce: TgCoordinates;
-    FTorque: TgCoordinates;
-    FCenterOfMass: TgCoordinates;
+    FAABBmin: TGLCoordinates;
+    FAABBmax: TGLCoordinates;
+    FForce: TGLCoordinates;
+    FTorque: TGLCoordinates;
+    FCenterOfMass: TGLCoordinates;
     FAutoSleep: Boolean; // Default=True
     FLinearDamping: Single; // default=0.1
-    FAngularDamping: TgCoordinates; // Default=0.1
+    FAngularDamping: TGLCoordinates; // Default=0.1
     FDensity: Single; // Default=1
     FUseGravity: Boolean; // Default=True
     FNullCollisionVolume: Single; // Default=0
@@ -306,10 +306,10 @@ type
     // Read Only
     FVolume: Single;
     FMass: Single;
-    FAppliedForce: TgCoordinates;
-    FAppliedTorque: TgCoordinates;
-    FAppliedOmega: TgCoordinates;
-    FAppliedVelocity: TgCoordinates;
+    FAppliedForce: TGLCoordinates;
+    FAppliedTorque: TGLCoordinates;
+    FAppliedOmega: TGLCoordinates;
+    FAppliedVelocity: TGLCoordinates;
     function StoredDensity: Boolean;
     function StoredLinearDamping: Boolean;
     function StoredNullCollisionVolume: Boolean;
@@ -349,22 +349,22 @@ type
     property Velocity: TGLVector read GetVelocity write SetVelocity;
     property Omega: TGLVector read GetOmega write SetOmega;
   published
-    property Force: TgCoordinates read FForce write FForce;
-    property Torque: TgCoordinates read FTorque write FTorque;
-    property CenterOfMass: TgCoordinates read FCenterOfMass write FCenterOfMass;
+    property Force: TGLCoordinates read FForce write FForce;
+    property Torque: TGLCoordinates read FTorque write FTorque;
+    property CenterOfMass: TGLCoordinates read FCenterOfMass write FCenterOfMass;
     property AutoSleep: Boolean read FAutoSleep write SetAutoSleep default True;
     property LinearDamping: Single read FLinearDamping write SetLinearDamping
       stored StoredLinearDamping;
-    property AngularDamping: TgCoordinates read FAngularDamping write FAngularDamping;
+    property AngularDamping: TGLCoordinates read FAngularDamping write FAngularDamping;
     property Density: Single read FDensity write SetDensity stored StoredDensity;
     property UseGravity: Boolean read FUseGravity write FUseGravity default True;
     property NullCollisionVolume: Single read FNullCollisionVolume write FNullCollisionVolume
       stored StoredNullCollisionVolume;
     // Read Only
-    property AppliedOmega: TgCoordinates read FAppliedOmega;
-    property AppliedVelocity: TgCoordinates read FAppliedVelocity;
-    property AppliedForce: TgCoordinates read FAppliedForce;
-    property AppliedTorque: TgCoordinates read FAppliedTorque;
+    property AppliedOmega: TGLCoordinates read FAppliedOmega;
+    property AppliedVelocity: TGLCoordinates read FAppliedVelocity;
+    property AppliedForce: TGLCoordinates read FAppliedForce;
+    property AppliedTorque: TGLCoordinates read FAppliedTorque;
     property Volume: Single read FVolume;
     property Mass: Single read FMass;
   end;
@@ -448,33 +448,33 @@ type
   TGLNGDJointPivot = class(TPersistent)
   private
     FManager: TGLNGDManager;
-    FPivotPoint: TgCoordinates;
+    FPivotPoint: TGLCoordinates;
     FOuter: TGLNGDJoint;
   public
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); virtual;
     destructor Destroy; override;
   published
-    property PivotPoint: TgCoordinates read FPivotPoint write FPivotPoint;
+    property PivotPoint: TGLCoordinates read FPivotPoint write FPivotPoint;
   end;
 
   TGLNGDJointPin = class(TGLNGDJointPivot)
   private
-    FPinDirection: TgCoordinates;
+    FPinDirection: TGLCoordinates;
   public
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
     destructor Destroy; override;
   published
-    property PinDirection: TgCoordinates read FPinDirection write FPinDirection;
+    property PinDirection: TGLCoordinates read FPinDirection write FPinDirection;
   end;
 
   TGLNGDJointPin2 = class(TGLNGDJointPin)
   private
-    FPinDirection2: TgCoordinates;
+    FPinDirection2: TGLCoordinates;
   public
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
     destructor Destroy; override;
   published
-    property PinDirection2: TgCoordinates read FPinDirection2 write FPinDirection2;
+    property PinDirection2: TGLCoordinates read FPinDirection2 write FPinDirection2;
   end;
 
   TGLNGDJointBallAndSocket = class(TGLNGDJointPivot)
@@ -565,7 +565,7 @@ type
     // nj_KinematicController
     FNewtonUserJoint: Pointer;
     // nj_UpVector
-    FUPVectorDirection: TgCoordinates;
+    FUPVectorDirection: TGLCoordinates;
     FBallAndSocketOptions: TGLNGDJointPivot;
     FHingeOptions: TGLNGDJointPin;
     FSliderOptions: TGLNGDJointPin;
@@ -607,7 +607,7 @@ type
     property ChildObject: TGLBaseSceneObject read FChildObject write SetChildObject;
     property CollisionState: Boolean read FCollisionState write SetCollisionState default False;
     property Stiffness: Single read FStiffness write SetStiffness stored StoredStiffness;
-    property UPVectorDirection: TgCoordinates read FUPVectorDirection write FUPVectorDirection;
+    property UPVectorDirection: TGLCoordinates read FUPVectorDirection write FUPVectorDirection;
   end;
 
   // Global function
@@ -731,7 +731,7 @@ begin
   end;
 end;
 
-procedure TGLNGDManager.AddNode(const coords: TgCustomCoordinates);
+procedure TGLNGDManager.AddNode(const coords: TGLCustomCoordinates);
 begin
   if Assigned(FGLLines) then
   begin
@@ -769,16 +769,16 @@ begin
   FSolverModel := smExact;
   FFrictionModel := fmExact;
   FMinimumFrameRate := 60;
-  FWorldSizeMin := TgCoordinates.CreateInitialized(self, VectorMake(-100, -100, -100, 0), csPoint);
-  FWorldSizeMax := TgCoordinates.CreateInitialized(self, VectorMake(100, 100, 100, 0), csPoint);
+  FWorldSizeMin := TGLCoordinates.CreateInitialized(self, VectorMake(-100, -100, -100, 0), csPoint);
+  FWorldSizeMax := TGLCoordinates.CreateInitialized(self, VectorMake(100, 100, 100, 0), csPoint);
 
   // Using Events because we need to call API Function when
-  // theses TgCoordinates change.
+  // theses TGLCoordinates change.
   FWorldSizeMin.OnNotifyChange := NotifyWorldSizeChange;
   FWorldSizeMax.OnNotifyChange := NotifyWorldSizeChange;
 
   FThreadCount := 1;
-  FGravity := TgCoordinates3.CreateInitialized(self, VectorMake(0, -9.81, 0, 0), csVector);
+  FGravity := TGLCoordinates3.CreateInitialized(self, VectorMake(0, -9.81, 0, 0), csVector);
 
   FNewtonWorld := NewtonCreate(nil, nil);
   FDllVersion := NewtonWorldGetVersion(FNewtonWorld);
@@ -1209,8 +1209,8 @@ begin
         BuildOneJoint(NewtonJoint.Items[I] as TGLNGDJoint);
     if (Sender is TGLNGDJoint) then
       BuildOneJoint((Sender as TGLNGDJoint));
-    if Sender is TgCoordinates then
-      BuildOneJoint(((Sender as TgCoordinates).Owner as TGLNGDJoint));
+    if Sender is TGLCoordinates then
+      BuildOneJoint(((Sender as TGLCoordinates).Owner as TGLNGDJoint));
     NotifyChange(self);
   end;
 end;
@@ -1866,20 +1866,20 @@ begin
   inherited;
   FAutoSleep := True;
   FLinearDamping := 0.1;
-  FAngularDamping := TgCoordinates.CreateInitialized(self, VectorMake(0.1, 0.1, 0.1, 0), csPoint);
+  FAngularDamping := TGLCoordinates.CreateInitialized(self, VectorMake(0.1, 0.1, 0.1, 0), csPoint);
   FAngularDamping.OnNotifyChange := NotifyAngularDampingChange;
   FDensity := 1;
   FVolume := 1;
-  FForce := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FTorque := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FCenterOfMass := TgCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
+  FForce := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FTorque := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FCenterOfMass := TGLCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
   FCenterOfMass.OnNotifyChange := NotifyCenterOfMassChange;
-  FAABBmin := TgCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
-  FAABBmax := TgCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
-  FAppliedOmega := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FAppliedVelocity := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FAppliedForce := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FAppliedTorque := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAABBmin := TGLCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
+  FAABBmax := TGLCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
+  FAppliedOmega := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAppliedVelocity := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAppliedForce := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAppliedTorque := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
   FUseGravity := True;
   FNullCollisionVolume := 0;
 
@@ -1938,7 +1938,7 @@ end;
 
 procedure TGLNGDDynamic.Render;
 
-  procedure DrawAABB(min, max: TgCoordinates3);
+  procedure DrawAABB(min, max: TGLCoordinates3);
   begin
     (*
       //    H________G
@@ -2485,7 +2485,7 @@ begin
   FCustomSliderOptions := TGLNGDJointSlider.Create(FManager, self);
   FKinematicOptions := TGLNGDJointKinematicController.Create;
 
-  FUPVectorDirection := TgCoordinates.CreateInitialized(self, YHmgVector, csVector);
+  FUPVectorDirection := TGLCoordinates.CreateInitialized(self, YHmgVector, csVector);
   FUPVectorDirection.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 
@@ -2743,7 +2743,7 @@ constructor TGLNGDJointPivot.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 begin
   FManager := AOwner as TGLNGDManager;
   FOuter := aOuter;
-  FPivotPoint := TgCoordinates.CreateInitialized(aOuter, NullHMGPoint, csPoint);
+  FPivotPoint := TGLCoordinates.CreateInitialized(aOuter, NullHMGPoint, csPoint);
   FPivotPoint.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 
@@ -2759,7 +2759,7 @@ end;
 constructor TGLNGDJointPin.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 begin
   inherited;
-  FPinDirection := TgCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
+  FPinDirection := TGLCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
   FPinDirection.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 
@@ -2776,7 +2776,7 @@ end;
 constructor TGLNGDJointPin2.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 begin
   inherited;
-  FPinDirection2 := TgCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
+  FPinDirection2 := TGLCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
   FPinDirection2.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 

+ 5 - 5
Source/GLS.Navigator.pas

@@ -57,7 +57,7 @@ type
   private
     FObject: TGLBaseSceneObject;
     FVirtualRight: TGLVector;
-    FVirtualUp: TgCoordinates;
+    FVirtualUp: TGLCoordinates;
     FUseVirtualUp: boolean;
     FAutoUpdateObject: boolean;
     FMaxAngle: single;
@@ -72,7 +72,7 @@ type
       Operation: TOperation); override;
     procedure SetObject(NewObject: TGLBaseSceneObject); virtual;
     procedure SetUseVirtualUp(UseIt: boolean);
-    procedure SetVirtualUp(Up: TgCoordinates);
+    procedure SetVirtualUp(Up: TGLCoordinates);
     function CalcRight: TGLVector;
   public
     constructor Create(AOwner: TComponent); override;
@@ -94,7 +94,7 @@ type
     property InvertHorizontalSteeringWhenUpsideDown: boolean
       read FInvertHorizontalSteeringWhenUpsideDown
       write FInvertHorizontalSteeringWhenUpsideDown default False;
-    property VirtualUp: TgCoordinates read FVirtualUp write SetVirtualUp;
+    property VirtualUp: TGLCoordinates read FVirtualUp write SetVirtualUp;
     property MovingObject: TGLBaseSceneObject read FObject write SetObject;
     property UseVirtualUp: boolean read FUseVirtualUp write SetUseVirtualUp
       default False;
@@ -191,7 +191,7 @@ implementation
 constructor TGLNavigator.Create(AOwner: TComponent);
 begin
   inherited;
-  FVirtualUp := TgCoordinates.CreateInitialized(Self, ZHmgVector, csPoint);
+  FVirtualUp := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csPoint);
   FCurrentVAngle := 0;
   FCurrentHAngle := 0;
 end;
@@ -411,7 +411,7 @@ begin
     FVirtualRight := CalcRight;
 end;
 
-procedure TGLNavigator.SetVirtualUp(Up: TgCoordinates);
+procedure TGLNavigator.SetVirtualUp(Up: TGLCoordinates);
 begin
   FVirtualUp.Assign(Up);
   if csdesigning in componentstate then

+ 3 - 3
Source/GLS.Nodes.pas

@@ -72,8 +72,8 @@ type
     function Last: TGLNode;
     procedure NotifyChange; virtual;
     procedure EndUpdate; override;
-    // AddNode (TgCustomCoordinates)
-    procedure AddNode(const Coords: TgCustomCoordinates); overload;
+    // AddNode (TGLCustomCoordinates)
+    procedure AddNode(const Coords: TGLCustomCoordinates); overload;
     procedure AddNode(const X, Y, Z: TGLfloat); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -267,7 +267,7 @@ begin
     NotifyChange;
 end;
 
-procedure TGLNodes.AddNode(const Coords: TgCustomCoordinates);
+procedure TGLNodes.AddNode(const Coords: TGLCustomCoordinates);
 begin
   Add.AsVector := Coords.AsVector;
 end;

+ 63 - 63
Source/GLS.ODEManager.pas

@@ -59,7 +59,7 @@ type
     FWorld: PdxWorld;
     FSpace: PdxSpace;
     FContactGroup: TdJointGroupID;
-    FGravity: TgCoordinates;
+    FGravity: TGLCoordinates;
     FOnCollision: TGLODECollisionEvent;
     FOnCustomCollision: TGLODECustomCollisionEvent;
     FNumContactJoints,
@@ -82,7 +82,7 @@ type
     procedure Collision(g1, g2: PdxGeom);
     procedure GravityChange(Sender: TObject);
     procedure SetMaxContacts(const Value: Integer);
-    procedure SetGravity(Value: TgCoordinates);
+    procedure SetGravity(Value: TGLCoordinates);
     procedure SetIterations(const val: Integer);
     function GetODEBehaviour(index: Integer): TGLODEBehaviour;
     procedure RegisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);
@@ -109,7 +109,7 @@ type
     property ContactGroup: TdJointGroupID read FContactGroup;
     property NumContactJoints: Integer read FNumContactJoints;
   published
-    property Gravity: TgCoordinates read FGravity write SetGravity;
+    property Gravity: TGLCoordinates read FGravity write SetGravity;
     property OnCollision: TGLODECollisionEvent read FOnCollision write FOnCollision;
     property OnCustomCollision: TGLODECustomCollisionEvent read FOnCustomCollision write FOnCustomCollision;
     property Solver: TGLODESolverMethod read FSolver write FSolver;
@@ -293,7 +293,7 @@ type
 	FGeomElement: PdxGeom;
     FPosition, 
 	FDirection, 
-	FUp: TgCoordinates;
+	FUp: TGLCoordinates;
     FLocalMatrix: TGLMatrix;
     FRealignODE,
 	FInitialized,
@@ -316,9 +316,9 @@ type
     procedure SetDensity(const Value: TdReal);
     procedure SetMatrix(const Value: TGLMatrix);
     function GetMatrix: TGLMatrix;
-    procedure SetPosition(const Value: TgCoordinates);
-    procedure SetDirection(const Value: TgCoordinates);
-    procedure SetUp(const Value: TgCoordinates);
+    procedure SetPosition(const Value: TGLCoordinates);
+    procedure SetDirection(const Value: TGLCoordinates);
+    procedure SetUp(const Value: TGLCoordinates);
   public
     constructor Create(AOwner: TXCollection); override;
     destructor Destroy; override;
@@ -331,9 +331,9 @@ type
     property Initialized: Boolean read FInitialized;
   published
     property Density: TdReal read FDensity write SetDensity;
-    property Position: TgCoordinates read FPosition write SetPosition;
-    property Direction: TgCoordinates read FDirection write SetDirection;
-    property Up: TgCoordinates read FUp write SetUp;
+    property Position: TGLCoordinates read FPosition write SetPosition;
+    property Direction: TGLCoordinates read FDirection write SetDirection;
+    property Up: TGLCoordinates read FUp write SetUp;
   end;
 
   // ODE box implementation
@@ -634,13 +634,13 @@ type
   TGLODEJointHinge = class(TGLODEJointBase)
   private
     FAnchor, 
-	FAxis: TgCoordinates;
+	FAxis: TGLCoordinates;
     FAxisParams: TGLODEJointParams;
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
-    procedure SetAxis(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
+    procedure SetAxis(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure AxisChange(Sender: TObject);
     procedure SetAxisParams(const Value: TGLODEJointParams);
@@ -654,19 +654,19 @@ type
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
-    property Axis: TgCoordinates read FAxis write SetAxis;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
+    property Axis: TGLCoordinates read FAxis write SetAxis;
     property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;
   end;
 
   // ODE ball joint implementation
   TGLODEJointBall = class(TGLODEJointBase)
   private
-    FAnchor: TgCoordinates;
+    FAnchor: TGLCoordinates;
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
   public
     constructor Create(AOwner: TXCollection); override;
@@ -676,18 +676,18 @@ type
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
   end;
 
   // ODE slider joint implementation
   TGLODEJointSlider = class(TGLODEJointBase)
   private
-    FAxis: TgCoordinates;
+    FAxis: TGLCoordinates;
     FAxisParams: TGLODEJointParams;
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAxis(const Value: TgCoordinates);
+    procedure SetAxis(const Value: TGLCoordinates);
     procedure AxisChange(Sender: TObject);
     procedure SetAxisParams(const Value: TGLODEJointParams);
     function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
@@ -700,7 +700,7 @@ type
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
   published
-    property Axis: TgCoordinates read FAxis write SetAxis;
+    property Axis: TGLCoordinates read FAxis write SetAxis;
     property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;
   end;
 
@@ -720,15 +720,15 @@ type
   private
     FAnchor,
 	FAxis1,
-	FAxis2: TgCoordinates;
+	FAxis2: TGLCoordinates;
     FAxis1Params,
 	FAxis2Params: TGLODEJointParams;
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
-    procedure SetAxis1(const Value: TgCoordinates);
-    procedure SetAxis2(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
+    procedure SetAxis1(const Value: TGLCoordinates);
+    procedure SetAxis2(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure Axis1Change(Sender: TObject);
     procedure Axis2Change(Sender: TObject);
@@ -746,9 +746,9 @@ type
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
-    property Axis1: TgCoordinates read FAxis1 write SetAxis1;
-    property Axis2: TgCoordinates read FAxis2 write SetAxis2;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
+    property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
+    property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
     property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
     property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;
   end;
@@ -758,15 +758,15 @@ type
   private
     FAnchor,
 	FAxis1,
-	FAxis2: TgCoordinates;
+	FAxis2: TGLCoordinates;
     FAxis1Params,
 	FAxis2Params: TGLODEJointParams;
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
-    procedure SetAxis1(const Value: TgCoordinates);
-    procedure SetAxis2(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
+    procedure SetAxis1(const Value: TGLCoordinates);
+    procedure SetAxis2(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure Axis1Change(Sender: TObject);
     procedure Axis2Change(Sender: TObject);
@@ -784,9 +784,9 @@ type
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
-    property Axis1: TgCoordinates read FAxis1 write SetAxis1;
-    property Axis2: TgCoordinates read FAxis2 write SetAxis2;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
+    property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
+    property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
     property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
     property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;
   end;
@@ -1297,7 +1297,7 @@ begin
   FODEBehaviours:= TgPersistentObjectList.Create;
   FRFContactList:= TList.Create;
 
-  FGravity:= TgCoordinates.CreateInitialized(Self, NullHmgPoint, csVector);
+  FGravity:= TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csVector);
   FGravity.OnNotifyChange:= GravityChange;
 
   FSolver:= osmDefault;
@@ -1364,7 +1364,7 @@ begin
   GravityChange(Self);
 end;
 
-procedure TGLODEManager.SetGravity(Value: TgCoordinates);
+procedure TGLODEManager.SetGravity(Value: TGLCoordinates);
 begin
   FGravity.SetPoint(Value.DirectX, Value.DirectY, Value.DirectZ);
 end;
@@ -2484,11 +2484,11 @@ end;
 constructor TGLODEElementBase.Create(AOwner: TXCollection);
 begin
   inherited;
-  FPosition := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FPosition := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FPosition.OnNotifyChange := NotifyChange;
-  FDirection := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FDirection := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FDirection.OnNotifyChange := CoordinateChanged;
-  FUp := TgCoordinates.CreateInitialized(Self, YHmgVector, csVector);
+  FUp := TGLCoordinates.CreateInitialized(Self, YHmgVector, csVector);
   FUp.OnNotifyChange := CoordinateChanged;
   FDensity := 1;
   FInitialized := False;
@@ -2775,17 +2775,17 @@ begin
     TGLODEElements(Owner).NotifyChange(Self);
 end;
 
-procedure TGLODEElementBase.SetPosition(const Value: TgCoordinates);
+procedure TGLODEElementBase.SetPosition(const Value: TGLCoordinates);
 begin
   FPosition.Assign(Value);
 end;
 
-procedure TGLODEElementBase.SetDirection(const Value: TgCoordinates);
+procedure TGLODEElementBase.SetDirection(const Value: TGLCoordinates);
 begin
   FDirection.Assign(Value);
 end;
 
-procedure TGLODEElementBase.SetUp(const Value: TgCoordinates);
+procedure TGLODEElementBase.SetUp(const Value: TGLCoordinates);
 begin
   FUp.Assign(Value);
 end;
@@ -4300,9 +4300,9 @@ end;
 constructor TGLODEJointHinge.Create(AOwner: TXCollection);
 begin
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
-  FAxis := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis.OnNotifyChange := AxisChange;
   FAxisParams := TGLODEJointParams.Create(Self);
   FAxisParams.SetCallback := SetAxisParam;
@@ -4385,12 +4385,12 @@ begin
   Result := 'ODE Hinge joint';
 end;
 
-procedure TGLODEJointHinge.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointHinge.SetAnchor(const Value: TGLCoordinates);
 begin
   FAnchor.Assign(Value);
 end;
 
-procedure TGLODEJointHinge.SetAxis(const Value: TgCoordinates);
+procedure TGLODEJointHinge.SetAxis(const Value: TGLCoordinates);
 begin
   FAxis.Assign(Value);
 end;
@@ -4430,7 +4430,7 @@ end;
 constructor TGLODEJointBall.Create(AOwner: TXCollection);
 begin
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
 end;
 
@@ -4489,7 +4489,7 @@ begin
   Result := 'ODE Ball joint implementation';
 end;
 
-procedure TGLODEJointBall.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointBall.SetAnchor(const Value: TGLCoordinates);
 begin
   FAnchor.Assign(Value);
 end;
@@ -4502,7 +4502,7 @@ end;
 constructor TGLODEJointSlider.Create(AOwner: TXCollection);
 begin
   inherited;
-  FAxis := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis.OnNotifyChange := AxisChange;
   FAxisParams := TGLODEJointParams.Create(Self);
   FAxisParams.SetCallback := SetAxisParam;
@@ -4574,7 +4574,7 @@ begin
   Result := 'ODE Slider joint implementation';
 end;
 
-procedure TGLODEJointSlider.SetAxis(const Value: TgCoordinates);
+procedure TGLODEJointSlider.SetAxis(const Value: TGLCoordinates);
 begin
   FAxis.Assign(Value);
 end;
@@ -4656,11 +4656,11 @@ end;
 constructor TGLODEJointHinge2.Create(AOwner: TXCollection);
 begin
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
-  FAxis1 := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis1 := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis1.OnNotifyChange := Axis1Change;
-  FAxis2 := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis2 := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis2.OnNotifyChange := Axis2Change;
   FAxis1Params := TGLODEJointParams.Create(Self);
   FAxis1Params.SetCallback := SetAxis1Param;
@@ -4765,17 +4765,17 @@ begin
   Result := 'ODE Double Axis Hinge joint implementation';
 end;
 
-procedure TGLODEJointHinge2.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointHinge2.SetAnchor(const Value: TGLCoordinates);
 begin
   FAnchor.Assign(Value);
 end;
 
-procedure TGLODEJointHinge2.SetAxis1(const Value: TgCoordinates);
+procedure TGLODEJointHinge2.SetAxis1(const Value: TGLCoordinates);
 begin
   FAxis1.Assign(Value);
 end;
 
-procedure TGLODEJointHinge2.SetAxis2(const Value: TgCoordinates);
+procedure TGLODEJointHinge2.SetAxis2(const Value: TGLCoordinates);
 begin
   FAxis2.Assign(Value);
 end;
@@ -4841,11 +4841,11 @@ end;
 constructor TGLODEJointUniversal.Create(AOwner: TXCollection);
 begin
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
-  FAxis1 := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis1 := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis1.OnNotifyChange := Axis1Change;
-  FAxis2 := TgCoordinates.CreateInitialized(Self, XHmgVector, csVector);
+  FAxis2 := TGLCoordinates.CreateInitialized(Self, XHmgVector, csVector);
   FAxis2.OnNotifyChange := Axis2Change;
   FAxis1Params := TGLODEJointParams.Create(Self);
   FAxis1Params.SetCallback := SetAxis1Param;
@@ -4951,17 +4951,17 @@ begin
   Result := 'ODE Universal joint implementation';
 end;
 
-procedure TGLODEJointUniversal.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointUniversal.SetAnchor(const Value: TGLCoordinates);
 begin
   FAnchor.Assign(Value);
 end;
 
-procedure TGLODEJointUniversal.SetAxis1(const Value: TgCoordinates);
+procedure TGLODEJointUniversal.SetAxis1(const Value: TGLCoordinates);
 begin
   FAxis1.Assign(Value);
 end;
 
-procedure TGLODEJointUniversal.SetAxis2(const Value: TgCoordinates);
+procedure TGLODEJointUniversal.SetAxis2(const Value: TGLCoordinates);
 begin
   FAxis2.Assign(Value);
 end;

+ 14 - 14
Source/GLS.Objects.pas

@@ -238,13 +238,13 @@ type
     FEnabled: Boolean;
     FMinSize, FMaxSize: Single;
     FFadeTresholdSize: Single;
-    FDistanceAttenuation: TgCoordinates;
+    FDistanceAttenuation: TGLCoordinates;
   protected
     procedure SetEnabled(const val: Boolean);
     procedure SetMinSize(const val: Single);
     procedure SetMaxSize(const val: Single);
     procedure SetFadeTresholdSize(const val: Single);
-    procedure SetDistanceAttenuation(const val: TgCoordinates);
+    procedure SetDistanceAttenuation(const val: TGLCoordinates);
     procedure DefineProperties(Filer: TFiler); override;
     procedure ReadData(Stream: TStream);
     procedure WriteData(Stream: TStream);
@@ -261,7 +261,7 @@ type
     property FadeTresholdSize: Single read FFadeTresholdSize
       write SetFadeTresholdSize stored False;
     // Components XYZ are for constant, linear and quadratic attenuation.
-    property DistanceAttenuation: TgCoordinates read FDistanceAttenuation
+    property DistanceAttenuation: TGLCoordinates read FDistanceAttenuation
       write SetDistanceAttenuation;
   end;
 
@@ -271,7 +271,7 @@ type
   TGLPoints = class(TGLImmaterialSceneObject)
   private
     FPositions: TGLAffineVectorList;
-    FColors: TGVectorList;
+    FColors: TGLVectorList;
     FSize: Single;
     FStyle: TGLPointStyle;
     FPointParameters: TGLPointParameters;
@@ -282,7 +282,7 @@ type
     procedure SetStatic(const val: Boolean);
     procedure SetSize(const val: Single);
     procedure SetPositions(const val: TGLAffineVectorList); inline;
-    procedure SetColors(const val: TGVectorList);
+    procedure SetColors(const val: TGLVectorList);
     procedure SetStyle(const val: TGLPointStyle);
     procedure SetPointParameters(const val: TGLPointParameters);
   public
@@ -297,7 +297,7 @@ type
       if contains a single color, all points will use that color
       if contains N colors, the first N points (at max) will be rendered
       using the corresponding colors *)
-    property Colors: TGVectorList read FColors write SetColors;
+    property Colors: TGLVectorList read FColors write SetColors;
   published
     // If true points do not write their Z to the depth buffer.
     property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;
@@ -412,7 +412,7 @@ type
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     function AxisAlignedDimensionsUnscaled: TGLVector; override;
-    procedure AddNode(const coords: TgCoordinates); overload;
+    procedure AddNode(const coords: TGLCoordinates); overload;
     procedure AddNode(const X, Y, Z: TGLFloat); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -616,7 +616,7 @@ type
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure NotifyChange(Sender: TObject); override;
-    procedure AddNode(const coords: TgCoordinates); overload;
+    procedure AddNode(const coords: TGLCoordinates); overload;
     procedure AddNode(const X, Y, Z: TGLFloat); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -1447,7 +1447,7 @@ begin
   FMinSize := 0;
   FMaxSize := 128;
   FFadeTresholdSize := 1;
-  FDistanceAttenuation := TgCoordinates.CreateInitialized(Self, XHmgVector,
+  FDistanceAttenuation := TGLCoordinates.CreateInitialized(Self, XHmgVector,
     csVector);
 end;
 
@@ -1567,7 +1567,7 @@ begin
   end;
 end;
 
-procedure TGLPointParameters.SetDistanceAttenuation(const val: TgCoordinates);
+procedure TGLPointParameters.SetDistanceAttenuation(const val: TGLCoordinates);
 begin
   FDistanceAttenuation.Assign(val);
 end;
@@ -1584,7 +1584,7 @@ begin
   FSize := cDefaultPointSize;
   FPositions := TGLAffineVectorList.Create;
   FPositions.Add(NullVector);
-  FColors := TGVectorList.Create;
+  FColors := TGLVectorList.Create;
   FPointParameters := TGLPointParameters.Create(Self);
 end;
 
@@ -1736,7 +1736,7 @@ begin
   StructureChanged;
 end;
 
-procedure TGLPoints.SetColors(const val: TGVectorList);
+procedure TGLPoints.SetColors(const val: TGLVectorList);
 begin
   FColors.Assign(val);
   StructureChanged;
@@ -2040,7 +2040,7 @@ begin
   // DivideVector(Result, Scale.AsVector);     //DanB ?
 end;
 
-procedure TGLNodedLines.AddNode(const coords: TgCoordinates);
+procedure TGLNodedLines.AddNode(const coords: TGLCoordinates);
 var
   n: TGLNode;
 begin
@@ -3117,7 +3117,7 @@ begin
   end;
 end;
 
-procedure TGLPolygonBase.AddNode(const coords: TgCoordinates);
+procedure TGLPolygonBase.AddNode(const coords: TGLCoordinates);
 var
   n: TGLNode;
 begin

+ 1 - 1
Source/GLS.ParametricSurfaces.pas

@@ -36,7 +36,7 @@ uses
   GLS.OpenGLAdapter,
   GLScene.OpenGLTokens,
   GLScene.VectorTypes,
-  GLScene.CurvesAndSurfaces,
+  GLS.CurvesAndSurfaces,
   GLScene.VectorGeometry,
   GLS.VectorLists,
   GLS.PersistentClasses,

+ 21 - 21
Source/GLS.ParticleFX.pas

@@ -351,9 +351,9 @@ type
   // Simple Particles Source.
   TGLSourcePFXEffect = class(TGLParticleFXEffect)
   private
-    FInitialVelocity: TgCoordinates;
-    FInitialPosition: TgCoordinates;
-    FPositionDispersionRange: TgCoordinates;
+    FInitialVelocity: TGLCoordinates;
+    FInitialPosition: TGLCoordinates;
+    FPositionDispersionRange: TGLCoordinates;
     FVelocityDispersion: Single;
     FPositionDispersion: Single;
     FParticleInterval: Single;
@@ -365,9 +365,9 @@ type
     FTimeRemainder: Double;
     FRotationDispersion: Single;
   protected
-    procedure SetInitialVelocity(const val: TgCoordinates);
-    procedure SetInitialPosition(const val: TgCoordinates);
-    procedure SetPositionDispersionRange(const val: TgCoordinates);
+    procedure SetInitialVelocity(const val: TGLCoordinates);
+    procedure SetInitialPosition(const val: TGLCoordinates);
+    procedure SetPositionDispersionRange(const val: TGLCoordinates);
     procedure SetParticleInterval(const val: Single);
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
@@ -384,11 +384,11 @@ type
       minInitialSpeed, maxInitialSpeed: Single;
       nbParticles: Integer);
   published
-    property InitialVelocity: TgCoordinates read FInitialVelocity write SetInitialVelocity;
+    property InitialVelocity: TGLCoordinates read FInitialVelocity write SetInitialVelocity;
     property VelocityDispersion: Single read FVelocityDispersion write FVelocityDispersion;
-    property InitialPosition: TgCoordinates read FInitialPosition write SetInitialPosition;
+    property InitialPosition: TGLCoordinates read FInitialPosition write SetInitialPosition;
     property PositionDispersion: Single read FPositionDispersion write FPositionDispersion;
-    property PositionDispersionRange: TgCoordinates read FPositionDispersionRange write SetPositionDispersionRange;
+    property PositionDispersionRange: TGLCoordinates read FPositionDispersionRange write SetPositionDispersionRange;
     property ParticleInterval: Single read FParticleInterval write SetParticleInterval;
     property VelocityMode: TGLSourcePFXVelocityMode read FVelocityMode write FVelocityMode default svmAbsolute;
     property PositionMode: TGLSourcePFXPositionMode read FPositionMode write FPositionMode default spmAbsoluteOffset;
@@ -403,12 +403,12 @@ type
    (simple velocity and const acceleration integration). *)
   TGLDynamicPFXManager = class(TGLParticleFXManager)
   private
-    FAcceleration: TgCoordinates;
+    FAcceleration: TGLCoordinates;
     FFriction: Single;
     FCurrentTime: Double;
     //FRotationCenter: TAffineVector;
   protected
-    procedure SetAcceleration(const val: TgCoordinates);
+    procedure SetAcceleration(const val: TGLCoordinates);
     (* Returns the maximum age for a particle.
        Particles older than that will be killed by DoProgress. *)
     function MaxParticleAge: Single; virtual; abstract;
@@ -419,7 +419,7 @@ type
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
     // Oriented acceleration applied to the particles.
-    property Acceleration: TgCoordinates read FAcceleration write SetAcceleration;
+    property Acceleration: TGLCoordinates read FAcceleration write SetAcceleration;
     (* Friction applied to the particles.
        Friction is applied as a speed scaling factor over 1 second, ie.
        a friction of 0.5 will half speed over 1 second, a friction of 3
@@ -744,7 +744,7 @@ end;
 
 procedure RndVector(const dispersion: TGLSourcePFXDispersionMode;
   var v: TAffineVector; var f: Single;
-  dispersionRange: TgCoordinates);
+  dispersionRange: TGLCoordinates);
 
   function GetRandomVector(NotIsotropic : boolean) : TVector3f;
   // Isotropic gives constrainted vector within a radius
@@ -1502,9 +1502,9 @@ end;
 constructor TGLSourcePFXEffect.Create(aOwner: TXCollection);
 begin
   inherited;
-  FInitialVelocity := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
-  FInitialPosition := TgCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
-  FPositionDispersionRange := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
+  FInitialVelocity := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FInitialPosition := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
+  FPositionDispersionRange := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
   FVelocityDispersion := 0;
   FPositionDispersion := 0;
   FParticleInterval := 0.1;
@@ -1589,17 +1589,17 @@ begin
   end;
 end;
 
-procedure TGLSourcePFXEffect.SetInitialVelocity(const val: TgCoordinates);
+procedure TGLSourcePFXEffect.SetInitialVelocity(const val: TGLCoordinates);
 begin
   FInitialVelocity.Assign(val);
 end;
 
-procedure TGLSourcePFXEffect.SetInitialPosition(const val: TgCoordinates);
+procedure TGLSourcePFXEffect.SetInitialPosition(const val: TGLCoordinates);
 begin
   FInitialPosition.Assign(val);
 end;
 
-procedure TGLSourcePFXEffect.SetPositionDispersionRange(const val: TgCoordinates);
+procedure TGLSourcePFXEffect.SetPositionDispersionRange(const val: TGLCoordinates);
 begin
   FPositionDispersionRange.Assign(val);
 end;
@@ -1894,7 +1894,7 @@ end;
 constructor TGLDynamicPFXManager.Create(aOwner: TComponent);
 begin
   inherited;
-  FAcceleration := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FAcceleration := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   FFriction := 1;
 end;
 
@@ -1982,7 +1982,7 @@ begin
     Particles.Pack;
 end;
 
-procedure TGLDynamicPFXManager.SetAcceleration(const val: TgCoordinates);
+procedure TGLDynamicPFXManager.SetAcceleration(const val: TGLCoordinates);
 begin
   FAcceleration.Assign(val);
 end;

+ 5 - 5
Source/GLS.PhysFields.pas

@@ -20,9 +20,9 @@ uses
 type
   TGLUniformGravityEmitter = class(TGLBaseForceFieldEmitter)
   private
-    fGravity: TgCoordinates;
+    fGravity: TGLCoordinates;
   protected
-    procedure SetGravity(const val: TgCoordinates);
+    procedure SetGravity(const val: TGLCoordinates);
   public
     constructor Create(aOwner: TXCollection); override;
     destructor Destroy; override;
@@ -35,7 +35,7 @@ type
     function CalculateForceField(Body: TGLBaseSceneObject)
       : TAffineVector; override;
   published
-    property Gravity: TgCoordinates read fGravity write SetGravity;
+    property Gravity: TGLCoordinates read fGravity write SetGravity;
   end;
 
   TGLRadialGravityEmitter = class(TGLBaseForceFieldEmitter)
@@ -90,7 +90,7 @@ implementation
 constructor TGLUniformGravityEmitter.Create(aOwner: TXCollection);
 begin
   inherited Create(aOwner);
-  fGravity := TgCoordinates.CreateInitialized(Self, nullHmgVector, csVector);
+  fGravity := TGLCoordinates.CreateInitialized(Self, nullHmgVector, csVector);
 end;
 
 destructor TGLUniformGravityEmitter.Destroy;
@@ -140,7 +140,7 @@ begin
   end;
 end;
 
-procedure TGLUniformGravityEmitter.SetGravity(const val: TgCoordinates);
+procedure TGLUniformGravityEmitter.SetGravity(const val: TGLCoordinates);
 begin
   fGravity.Assign(val);
 end;

+ 10 - 10
Source/GLS.PhysForces.pas

@@ -26,8 +26,8 @@ type
   private
     fObject1: TGLBaseSceneObject;
     fObject2: TGLBaseSceneObject;
-    fposition1: TgCoordinates;
-    fposition2: TgCoordinates;
+    fposition1: TGLCoordinates;
+    fposition2: TGLCoordinates;
     object1Name: String;
     object2Name: String;
     // fOnCustomForce: TOnCustomForce;
@@ -51,14 +51,14 @@ type
     class function UniqueItem: Boolean; override;
     procedure SetObject1(const val: TGLBaseSceneObject);
     procedure SetObject2(const val: TGLBaseSceneObject);
-    procedure SetPosition1(const val: TgCoordinates);
-    procedure SetPosition2(const val: TgCoordinates);
+    procedure SetPosition1(const val: TGLCoordinates);
+    procedure SetPosition2(const val: TGLCoordinates);
     function CalculateForce(): TAffineVector; virtual;
   published
     property Object1: TGLBaseSceneObject read fObject1 write SetObject1;
     property Object2: TGLBaseSceneObject read fObject2 write SetObject2;
-    property Position1: TgCoordinates read fposition1 write SetPosition1;
-    property Position2: TgCoordinates read fposition2 write SetPosition2;
+    property Position1: TGLCoordinates read fposition1 write SetPosition1;
+    property Position2: TGLCoordinates read fposition2 write SetPosition2;
     // property OnCustomForce:TOnCustomForce read fOnCustomForce write fOnCustomForce;
   end;
 
@@ -108,8 +108,8 @@ uses
 constructor TGLForce.Create(aOwner: TXCollection);
 begin
   inherited; // Create(aOwner)
-  fposition1 := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
-  fposition2 := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  fposition1 := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  fposition2 := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   // fObject1:=TGLBaseSceneObject.Create(Self);
   // fObject2:=TGLBaseSceneObject.Create(Self);
 end;
@@ -152,12 +152,12 @@ begin
    Write('Object2 does not have an inertia behaviour');
 end;
 
-procedure TGLForce.SetPosition1(const val: TgCoordinates);
+procedure TGLForce.SetPosition1(const val: TGLCoordinates);
 begin
   fposition1.Assign(val); // DB101
 end;
 
-procedure TGLForce.SetPosition2(const val: TgCoordinates);
+procedure TGLForce.SetPosition2(const val: TGLCoordinates);
 begin
   fposition2.Assign(val);
 end;

+ 10 - 10
Source/GLS.PhysInertias.pas

@@ -26,12 +26,12 @@ type
   // modified from TGLBInertia
   private
     FMass: Single;
-    FTranslationSpeed: TgCoordinates;
+    FTranslationSpeed: TGLCoordinates;
     FTranslationDamping: TGLDamping;
   protected
     function CalcLinearPositionDot(): TAffineVector;
     function CalcLinearMomentumDot(): TAffineVector;
-    procedure SetTranslationSpeed(const val: TgCoordinates);
+    procedure SetTranslationSpeed(const val: TGLCoordinates);
     procedure SetTranslationDamping(const val: TGLDamping);
   public
     fForce: TAffineVector;
@@ -71,7 +71,7 @@ type
     procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: Single);
   published
     property Mass: Single read FMass write FMass;
-    property TranslationSpeed: TgCoordinates read FTranslationSpeed
+    property TranslationSpeed: TGLCoordinates read FTranslationSpeed
       write SetTranslationSpeed;
 
     (* Enable/Disable damping (damping has a high cpu-cycle cost).
@@ -118,7 +118,7 @@ type
     fInertiaTensor: TGLInertiaTensor;
     InverseInertiaTensor: TAffineMAtrix;
     // LinearVelocity:TAffineVector;
-    fRotationSpeed: TgCoordinates;
+    fRotationSpeed: TGLCoordinates;
     /// AngularVelocity:TAffineVector;      //rotation about axis, magnitude=speed
     // damping properties
     FRotationDamping: TGLDamping;
@@ -166,13 +166,13 @@ type
     procedure ApplyLocalForce(pos, Force: TVector3f); override;
     procedure ApplyLocalImpulse(xpos, ypos, zpos, x, y, z: Real);
     procedure SetInertiaTensor(newVal: TGLInertiaTensor);
-    procedure SetRotationSpeed(const val: TgCoordinates);
+    procedure SetRotationSpeed(const val: TGLCoordinates);
     procedure SetRotationDamping(const val: TGLDamping);
   published
     property Density: Real read fDensity write fDensity;
     property InertiaTensor: TGLInertiaTensor read fInertiaTensor
       write SetInertiaTensor;
-    property RotationSpeed: TgCoordinates read fRotationSpeed
+    property RotationSpeed: TGLCoordinates read fRotationSpeed
       write SetRotationSpeed;
     property RotationDamping: TGLDamping read FRotationDamping
       write SetRotationDamping;
@@ -207,7 +207,7 @@ begin
   inherited Create(aOwner);
   FMass := 1;
   StateSize := 6;
-  FTranslationSpeed := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FTranslationSpeed := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   LinearPosition := OwnerBaseSceneObject.position.AsAffineVector;
   LinearMomentum := FTranslationSpeed.AsAffineVector;
   FTranslationDamping := TGLDamping.Create(Self);
@@ -267,7 +267,7 @@ begin
   SetUpStartingState();
 end;
 
-procedure TGLParticleInertia.SetTranslationSpeed(const val: TgCoordinates);
+procedure TGLParticleInertia.SetTranslationSpeed(const val: TGLCoordinates);
 begin
   FTranslationSpeed.Assign(val);
   LinearMomentum := VectorScale(FTranslationSpeed.AsAffineVector, FMass);
@@ -576,7 +576,7 @@ begin
   fInertiaTensor := newVal;
 end;
 
-procedure TGLRigidBodyInertia.SetRotationSpeed(const val: TgCoordinates);
+procedure TGLRigidBodyInertia.SetRotationSpeed(const val: TGLCoordinates);
 begin
   AngularMomentum := VectorTransform(val.AsAffineVector, fBodyInertiaTensor);
   fRotationSpeed.Assign(val);
@@ -896,7 +896,7 @@ begin
   StateSize := 13;
 
   fInertiaTensor := TGLInertiaTensor.Create(Self);
-  fRotationSpeed := TgCoordinates.CreateInitialized(Self, VectorMake(0, 0, 0));
+  fRotationSpeed := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 0, 0));
 
   // LinearPosition:=OwnerBaseSceneObject.Position.AsAffineVector;
   AngularOrientation := IdentityQuaternion; // fromAngleAxis(0,XVector);

+ 2 - 2
Source/GLS.RandomHDS.pas

@@ -338,7 +338,7 @@ type
       vertical/horitontal ratio with any size. Therefore, Scale.X=Scale.Y=1 and
       only Scale.Z varies. If you want to increase the landscape scale, the best way
       would be to place the Terrain Renderer in a DummyCube and rescale it. *)
-    function Scale: TgCoordinates;
+    function Scale: TGLCoordinates;
     (* Size of the square height array. With the middle-point algorithm, it is always
       Size = 2^N+1. In a cyclic landscape, the last row and columns are identical
       to the first. *)
@@ -1842,7 +1842,7 @@ begin
   Result := (x >= 0) and (x <= FSize) and (y >= 0) and (y <= FSize);
 end;
 
-function TGLCustomRandomHDS.Scale: TgCoordinates;
+function TGLCustomRandomHDS.Scale: TGLCoordinates;
 begin
   try
     Result := FTerrainRenderer.Scale;

+ 34 - 34
Source/GLS.Scene.pas

@@ -156,15 +156,15 @@ type
      To add children at runtime, use the AddNewChild method of TGLBaseSceneObject;
      other children manipulations methods and properties are provided (to browse,
      move and delete them). Using the regular TComponent methods is not encouraged *)
-  TGLBaseSceneObject = class(TgCoordinatesUpdateAbleComponent)
+  TGLBaseSceneObject = class(TGLCoordinatesUpdateAbleComponent)
   private
     FAbsoluteMatrix, FInvAbsoluteMatrix: TGLMatrix;
     FLocalMatrix: TGLMatrix;
     FObjectStyle: TGLObjectStyles;
     FListHandle: TGLListHandle; // created on 1st use
-    FPosition: TgCoordinates;
-    FDirection, FUp: TgCoordinates;
-    FScaling: TgCoordinates;
+    FPosition: TGLCoordinates;
+    FDirection, FUp: TGLCoordinates;
+    FScaling: TGLCoordinates;
     FChanges: TGLObjectChanges;
     FParent: TGLBaseSceneObject;
     FScene: TGLScene;
@@ -176,7 +176,7 @@ type
     FVisible: Boolean;
     FUpdateCount: Integer;
     FShowAxes: Boolean;
-    FRotation: TgCoordinates; // current rotation angles
+    FRotation: TGLCoordinates; // current rotation angles
     FIsCalculating: Boolean;
     FObjectsSorting: TGLObjectsSorting;
     FVisibilityCulling: TGLVisibilityCulling;
@@ -199,19 +199,19 @@ type
     function GetIndex: Integer; inline;
     procedure SetParent(const val: TGLBaseSceneObject); inline;
     procedure SetIndex(aValue: Integer);
-    procedure SetDirection(AVector: TgCoordinates);
-    procedure SetUp(AVector: TgCoordinates);
+    procedure SetDirection(AVector: TGLCoordinates);
+    procedure SetUp(AVector: TGLCoordinates);
     function GetMatrix: PGLMatrix; inline;
-    procedure SetPosition(APosition: TgCoordinates);
+    procedure SetPosition(APosition: TGLCoordinates);
     procedure SetPitchAngle(AValue: Single);
     procedure SetRollAngle(AValue: Single);
     procedure SetTurnAngle(AValue: Single);
-    procedure SetRotation(aRotation: TgCoordinates);
+    procedure SetRotation(aRotation: TGLCoordinates);
     function GetPitchAngle: Single; inline;
     function GetTurnAngle: Single; inline;
     function GetRollAngle: Single; inline;
     procedure SetShowAxes(AValue: Boolean);
-    procedure SetScaling(AValue: TgCoordinates);
+    procedure SetScaling(AValue: TGLCoordinates);
     procedure SetObjectsSorting(const val: TGLObjectsSorting);
     procedure SetVisibilityCulling(const val: TGLVisibilityCulling);
     procedure SetBehaviours(const val: TGLBehaviours);
@@ -518,10 +518,10 @@ type
     procedure StructureChanged; virtual;
     procedure ClearStructureChanged; inline;
     // Recalculate an orthonormal system
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     procedure TransformationChanged; inline;
     procedure NotifyChange(Sender: TObject); override;
-    property Rotation: TgCoordinates read FRotation write SetRotation;
+    property Rotation: TGLCoordinates read FRotation write SetRotation;
     property PitchAngle: Single read GetPitchAngle write SetPitchAngle;
     property RollAngle: Single read GetRollAngle write SetRollAngle;
     property TurnAngle: Single read GetTurnAngle write SetTurnAngle;
@@ -529,10 +529,10 @@ type
     property Changes: TGLObjectChanges read FChanges;
     property BBChanges: TGLObjectBBChanges read fBBChanges write SetBBChanges;
     property Parent: TGLBaseSceneObject read FParent write SetParent;
-    property Position: TgCoordinates read FPosition write SetPosition;
-    property Direction: TgCoordinates read FDirection write SetDirection;
-    property Up: TgCoordinates read FUp write SetUp;
-    property Scale: TgCoordinates read FScaling write SetScaling;
+    property Position: TGLCoordinates read FPosition write SetPosition;
+    property Direction: TGLCoordinates read FDirection write SetDirection;
+    property Up: TGLCoordinates read FUp write SetUp;
+    property Scale: TGLCoordinates read FScaling write SetScaling;
     property Scene: TGLScene read FScene;
     property Visible: Boolean read FVisible write SetVisible default True;
     property Pickable: Boolean read FPickable write SetPickable default True;
@@ -900,7 +900,7 @@ type
   TGLLightSource = class(TGLBaseSceneObject)
   private
     FLightID: Cardinal;
-    FSpotDirection: TgCoordinates;
+    FSpotDirection: TGLCoordinates;
     FSpotExponent, FSpotCutOff: Single;
     FConstAttenuation, FLinearAttenuation, FQuadraticAttenuation: Single;
     FShining: Boolean;
@@ -914,7 +914,7 @@ type
     procedure SetLinearAttenuation(AValue: Single);
     procedure SetQuadraticAttenuation(AValue: Single);
     procedure SetShining(AValue: Boolean);
-    procedure SetSpotDirection(AVector: TgCoordinates);
+    procedure SetSpotDirection(AVector: TGLCoordinates);
     procedure SetSpotExponent(AValue: Single);
     procedure SetSpotCutOff(const val: Single);
     procedure SetLightStyle(const val: TGLLightStyle);
@@ -927,7 +927,7 @@ type
     function RayCastIntersect(const rayStart, rayVector: TGLVector;
       intersectPoint: PGLVector = nil;
       intersectNormal: PGLVector = nil): Boolean; override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     function GenerateSilhouette(const silhouetteParameters:
       TGLSilhouetteParameters): TGLSilhouette; override;
     property LightID: Cardinal read FLightID;
@@ -946,7 +946,7 @@ type
     property Shining: Boolean read FShining write SetShining default True;
     property Specular: TGColor read FSpecular write SetSpecular;
     property SpotCutOff: Single read FSpotCutOff write SetSpotCutOff;
-    property SpotDirection: TgCoordinates read FSpotDirection write
+    property SpotDirection: TGLCoordinates read FSpotDirection write
       SetSpotDirection;
     property SpotExponent: Single read FSpotExponent write SetSpotExponent;
     property OnProgress;
@@ -1877,11 +1877,11 @@ begin
   FObjectStyle := [];
   FChanges := [ocTransformation, ocStructure,
     ocAbsoluteMatrix, ocInvAbsoluteMatrix];
-  FPosition := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
-  FRotation := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
-  FDirection := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
-  FUp := TgCoordinates.CreateInitialized(Self, YHmgVector, csVector);
-  FScaling := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
+  FPosition := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FRotation := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FDirection := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FUp := TGLCoordinates.CreateInitialized(Self, YHmgVector, csVector);
+  FScaling := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
   FLocalMatrix := IdentityHmgMatrix;
   FVisible := True;
   FPickable := True;
@@ -3097,7 +3097,7 @@ begin
   end;
 end;
 
-procedure TGLBaseSceneObject.SetRotation(aRotation: TgCoordinates);
+procedure TGLBaseSceneObject.SetRotation(aRotation: TGLCoordinates);
 begin
   FRotation.Assign(aRotation);
   TransformationChanged;
@@ -3156,7 +3156,7 @@ begin
   end;
 end;
 
-procedure TGLBaseSceneObject.SetScaling(AValue: TgCoordinates);
+procedure TGLBaseSceneObject.SetScaling(AValue: TGLCoordinates);
 begin
   FScaling.Assign(AValue);
   TransformationChanged;
@@ -3399,7 +3399,7 @@ begin
   end;
 end;
 
-procedure TGLBaseSceneObject.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLBaseSceneObject.CoordinateChanged(Sender: TGLCustomCoordinates);
 var
   rightVector: TGLVector;
 begin
@@ -3865,18 +3865,18 @@ begin
   TransformationChanged;
 end;
 
-procedure TGLBaseSceneObject.SetPosition(APosition: TgCoordinates);
+procedure TGLBaseSceneObject.SetPosition(APosition: TGLCoordinates);
 begin
   FPosition.SetPoint(APosition.DirectX, APosition.DirectY, APosition.DirectZ);
 end;
 
-procedure TGLBaseSceneObject.SetDirection(AVector: TgCoordinates);
+procedure TGLBaseSceneObject.SetDirection(AVector: TGLCoordinates);
 begin
   if not VectorIsNull(AVector.DirectVector) then
     FDirection.SetVector(AVector.DirectX, AVector.DirectY, AVector.DirectZ);
 end;
 
-procedure TGLBaseSceneObject.SetUp(AVector: TgCoordinates);
+procedure TGLBaseSceneObject.SetUp(AVector: TGLCoordinates);
 begin
   if not VectorIsNull(AVector.DirectVector) then
     FUp.SetVector(AVector.DirectX, AVector.DirectY, AVector.DirectZ);
@@ -5429,7 +5429,7 @@ constructor TGLLightSource.Create(AOwner: TComponent);
 begin
   inherited Create(AOwner);
   FShining := True;
-  FSpotDirection := TgCoordinates.CreateInitialized(Self, VectorMake(0, 0, -1, 0), csVector);
+  FSpotDirection := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 0, -1, 0), csVector);
   FConstAttenuation := 1;
   FLinearAttenuation := 0;
   FQuadraticAttenuation := 0;
@@ -5465,7 +5465,7 @@ begin
   Result := False;
 end;
 
-procedure TGLLightSource.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLLightSource.CoordinateChanged(Sender: TGLCustomCoordinates);
 begin
   inherited;
   if Sender = FSpotDirection then
@@ -5487,7 +5487,7 @@ begin
   end;
 end;
 
-procedure TGLLightSource.SetSpotDirection(AVector: TgCoordinates);
+procedure TGLLightSource.SetSpotDirection(AVector: TGLCoordinates);
 begin
   FSpotDirection.DirectVector := AVector.AsVector;
   FSpotDirection.W := 0;

+ 3 - 3
Source/GLS.SceneRegister.pas

@@ -819,10 +819,10 @@ end;
 
 procedure TGLCoordinatesProperty.Edit;
 var
-  glc: TgCoordinates;
+  glc: TGLCoordinates;
   x, y, z: Single;
 begin
-  glc := TgCoordinates(GetOrdValue);
+  glc := TGLCoordinates(GetOrdValue);
   x := glc.x;
   y := glc.y;
   z := glc.z;
@@ -1588,7 +1588,7 @@ begin
   RegisterPropertyEditor(TypeInfo(string), TGLTexture, 'ImageClassName', TGLImageClassProperty);
   RegisterPropertyEditor(TypeInfo(TGLSoundFile), TGLSoundSample, '', TGLSoundFileProperty);
   RegisterPropertyEditor(TypeInfo(string), TGLBaseSoundSource, 'SoundName', TGLSoundNameProperty);
-  RegisterPropertyEditor(TypeInfo(TgCoordinates), nil, '', TGLCoordinatesProperty);
+  RegisterPropertyEditor(TypeInfo(TGLCoordinates), nil, '', TGLCoordinatesProperty);
   RegisterPropertyEditor(TypeInfo(TGColor), nil, '', TGLColorProperty);
   RegisterPropertyEditor(TypeInfo(TGLMaterial), nil, '', TGLMaterialProperty);
   RegisterComponentEditor(TGLGuiLayout, TGLGUILayoutEditor);

+ 10 - 10
Source/GLS.ShadowHDS.pas

@@ -54,8 +54,8 @@ type
   private
     FTileSize: integer;
     FShadowmapLibrary: TGLMaterialLibrary;
-    FLightVector: TgCoordinates;
-    FScale: TgCoordinates;
+    FLightVector: TGLCoordinates;
+    FScale: TGLCoordinates;
     FScaleVec: TVector3f;
     FOnNewTilePrepared: TNewTilePreparedEvent;
     FOnThreadBmp32: TThreadBmp32;
@@ -69,8 +69,8 @@ type
     OwnerHDS: TGLHeightDataSource; // The owner of the tile
   protected
     procedure SetShadowmapLibrary(const val: TGLMaterialLibrary);
-    procedure SetScale(AValue: TgCoordinates);
-    procedure SetLightVector(AValue: TgCoordinates);
+    procedure SetScale(AValue: TGLCoordinates);
+    procedure SetLightVector(AValue: TGLCoordinates);
     procedure SetSoftRange(AValue: cardinal);
     procedure SetDiffuse(AValue: single);
     procedure SetAmbient(AValue: single);
@@ -122,8 +122,8 @@ type
     property ShadowmapLibrary: TGLMaterialLibrary read FShadowmapLibrary write SetShadowmapLibrary;
     property OnThreadBmp32: TThreadBmp32 read FOnThreadBmp32 write FOnThreadBmp32; // WARNING: This runs in a subthread
     property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
-    property LightVector: TgCoordinates read FLightVector write SetLightVector;
-    property scale: TgCoordinates read FScale write FScale;
+    property LightVector: TGLCoordinates read FLightVector write SetLightVector;
+    property scale: TGLCoordinates read FScale write FScale;
     property ScanDistance: integer read FScanDistance write FScanDistance;
     property SoftRange: cardinal read FSoftRange write SetSoftRange;
     // Shadow height above sufrace for max diffuse light
@@ -140,9 +140,9 @@ implementation
 constructor TGLShadowHDS.Create(AOwner: TComponent);
 begin
   inherited Create(AOwner);
-  FLightVector := TgCoordinates.CreateInitialized(Self, VectorMake(1, 0, -1));
+  FLightVector := TGLCoordinates.CreateInitialized(Self, VectorMake(1, 0, -1));
   FLightVector.Style := csVector; // csPoint;
-  FScale := TgCoordinates.CreateInitialized(Self, VectorMake(1, 1, 1));
+  FScale := TGLCoordinates.CreateInitialized(Self, VectorMake(1, 1, 1));
   FScale.Style := csVector; // csPoint;
   FScanDistance := 64;
   FAmbient := 0.25;
@@ -250,7 +250,7 @@ begin
   end;
 end;
 
-procedure TGLShadowHDS.SetLightVector(AValue: TgCoordinates);
+procedure TGLShadowHDS.SetLightVector(AValue: TGLCoordinates);
 begin
   With OwnerHDS.Data.LockList do
     try
@@ -733,7 +733,7 @@ begin
   end;
 end;
 
-procedure TGLShadowHDS.SetScale(AValue: TgCoordinates);
+procedure TGLShadowHDS.SetScale(AValue: TGLCoordinates);
 begin
   with OwnerHDS.Data.LockList do
     try

+ 5 - 5
Source/GLS.Silhouette.pas

@@ -39,19 +39,19 @@ type
     need some helper methods for generating the indexed sets. *)
   TGLSilhouette = class
   private
-    FVertices: TGVectorList;
+    FVertices: TGLVectorList;
     FIndices: TgIntegerList;
     FCapIndices: TgIntegerList;
     FParameters: TGLSilhouetteParameters;
   protected
     procedure SetIndices(const value: TgIntegerList);
     procedure SetCapIndices(const value: TgIntegerList);
-    procedure SetVertices(const value: TGVectorList);
+    procedure SetVertices(const value: TGLVectorList);
   public
     constructor Create; virtual;
     destructor Destroy; override;
     property Parameters: TGLSilhouetteParameters read FParameters write FParameters;
-    property Vertices: TGVectorList read FVertices write SetVertices;
+    property Vertices: TGLVectorList read FVertices write SetVertices;
     property Indices: TgIntegerList read FIndices write SetIndices;
     property CapIndices: TgIntegerList read FCapIndices write SetCapIndices;
     procedure Flush; virtual;
@@ -126,7 +126,7 @@ implementation // -------------------------------------------------------------
 constructor TGLSilhouette.Create;
 begin
   inherited;
-  FVertices := TGVectorList.Create;
+  FVertices := TGLVectorList.Create;
   FIndices := TgIntegerList.Create;
   FCapIndices := TgIntegerList.Create;
 end;
@@ -149,7 +149,7 @@ begin
   FCapIndices.Assign(value);
 end;
 
-procedure TGLSilhouette.SetVertices(const value: TGVectorList);
+procedure TGLSilhouette.SetVertices(const value: TGLVectorList);
 begin
   FVertices.Assign(value);
 end;

+ 10 - 10
Source/GLS.SmoothNavigator.pas

@@ -123,10 +123,10 @@ type
   // Smoothly change any Vector4f value, so it will become TargetValue in the end.
   TGLNavigatorSmoothChangeVector = class(TGLNavigatorSmoothChangeItem)
   private
-    FTargetValue: TgCoordinates;
+    FTargetValue: TGLCoordinates;
     FOnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent;
     FOnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent;
-    procedure SetTargetValue(const Value: TgCoordinates);
+    procedure SetTargetValue(const Value: TGLCoordinates);
   public
     class function FriendlyName: string; override;
     function Proceed(ADeltaTime: Double): Boolean; override;
@@ -135,7 +135,7 @@ type
     destructor Destroy; override;
     procedure ResetTargetValue(); override;
   published
-    property TargetValue: TgCoordinates read FTargetValue write SetTargetValue;
+    property TargetValue: TGLCoordinates read FTargetValue write SetTargetValue;
     property OnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
     property OnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
   end;
@@ -372,9 +372,9 @@ type
     FSmoothNavigator: TGLSmoothNavigator;
     FSmoothVertNavigator: TGLSmoothNavigator;
     FInvertMouse: Boolean;
-    FOriginalMousePos: TgCoordinates2;
+    FOriginalMousePos: TGLCoordinates2;
     procedure SetSmoothNavigator(const Value: TGLSmoothNavigator); virtual;
-    procedure SetOriginalMousePos(const Value: TgCoordinates2); virtual;
+    procedure SetOriginalMousePos(const Value: TGLCoordinates2); virtual;
     procedure SetSmoothVertNavigator(const Value: TGLSmoothNavigator); virtual;
     procedure SetMouseLookActive(const Value: Boolean); virtual;
   protected
@@ -394,7 +394,7 @@ type
     property SmoothVertNavigator: TGLSmoothNavigator read FSmoothVertNavigator write SetSmoothVertNavigator;
     property SmoothNavigator: TGLSmoothNavigator read FSmoothNavigator write SetSmoothNavigator;
     property InvertMouse: Boolean read FInvertMouse write FInvertMouse default False;
-    property OriginalMousePos: TgCoordinates2 read FOriginalMousePos write SetOriginalMousePos;
+    property OriginalMousePos: TGLCoordinates2 read FOriginalMousePos write SetOriginalMousePos;
   end;
 
 //----------------------------------------------------
@@ -906,7 +906,7 @@ begin
   inherited;
   FMouseLookActive := False;
   FAutoUpdateMouse := True;
-  FOriginalMousePos := TgCoordinates2.CreateInitialized(Self,
+  FOriginalMousePos := TGLCoordinates2.CreateInitialized(Self,
                              VectorMake(GLGetScreenWidth div 2,
                              GLGetScreenHeight div 2, 0, 0), csPoint2D);
 end;
@@ -943,7 +943,7 @@ begin
 end;
 
 procedure TGLSmoothUserInterface.SetOriginalMousePos(
-  const Value: TgCoordinates2);
+  const Value: TGLCoordinates2);
 begin
   FOriginalMousePos.Assign(Value);
 end;
@@ -1548,7 +1548,7 @@ end;
 constructor TGLNavigatorSmoothChangeVector.Create(aOwner: TXCollection);
 begin
   inherited;
-  FTargetValue := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FTargetValue := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
 end;
 
 destructor TGLNavigatorSmoothChangeVector.Destroy;
@@ -1617,7 +1617,7 @@ begin
 end;
 
 procedure TGLNavigatorSmoothChangeVector.SetTargetValue(
-  const Value: TgCoordinates);
+  const Value: TGLCoordinates);
 begin
   FTargetValue.Assign(Value);
 end;

+ 37 - 37
Source/GLS.Texture.pas

@@ -386,10 +386,10 @@ type
     FImageBrightness: Single;
     FImageGamma: Single;
     FMappingMode: TGLTextureMappingMode;
-    FMapSCoordinates: TgCoordinates4;
-    FMapTCoordinates: TgCoordinates4;
-    FMapRCoordinates: TgCoordinates4;
-    FMapQCoordinates: TgCoordinates4;
+    FMapSCoordinates: TGLCoordinates4;
+    FMapTCoordinates: TGLCoordinates4;
+    FMapRCoordinates: TGLCoordinates4;
+    FMapQCoordinates: TGLCoordinates4;
     FOnTextureNeeded: TGLTextureNeededEvent;
     FCompression: TGLTextureCompression;
     FRequiredMemorySize: Integer;
@@ -428,17 +428,17 @@ type
     procedure SetCompression(const val: TGLTextureCompression);
     procedure SetFilteringQuality(const val: TGLTextureFilteringQuality);
     procedure SetMappingMode(const val: TGLTextureMappingMode);
-    function GetMappingSCoordinates: TgCoordinates4;
-    procedure SetMappingSCoordinates(const val: TgCoordinates4);
+    function GetMappingSCoordinates: TGLCoordinates4;
+    procedure SetMappingSCoordinates(const val: TGLCoordinates4);
     function StoreMappingSCoordinates: Boolean;
-    function GetMappingTCoordinates: TgCoordinates4;
-    procedure SetMappingTCoordinates(const val: TgCoordinates4);
+    function GetMappingTCoordinates: TGLCoordinates4;
+    procedure SetMappingTCoordinates(const val: TGLCoordinates4);
     function StoreMappingTCoordinates: Boolean;
-    function GetMappingRCoordinates: TgCoordinates4;
-    procedure SetMappingRCoordinates(const val: TgCoordinates4);
+    function GetMappingRCoordinates: TGLCoordinates4;
+    procedure SetMappingRCoordinates(const val: TGLCoordinates4);
     function StoreMappingRCoordinates: Boolean;
-    function GetMappingQCoordinates: TgCoordinates4;
-    procedure SetMappingQCoordinates(const val: TgCoordinates4);
+    function GetMappingQCoordinates: TGLCoordinates4;
+    procedure SetMappingQCoordinates(const val: TGLCoordinates4);
     function StoreMappingQCoordinates: Boolean;
     procedure SetDisabled(AValue: Boolean);
     procedure SetEnabled(const val: Boolean);
@@ -580,13 +580,13 @@ type
     (* Texture mapping coordinates mode for S, T, R and Q axis.
     This property stores the coordinates for automatic texture
     coordinates generation *)
-    property MappingSCoordinates: TgCoordinates4 read GetMappingSCoordinates
+    property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates
       write SetMappingSCoordinates stored StoreMappingSCoordinates;
-    property MappingTCoordinates: TgCoordinates4 read GetMappingTCoordinates
+    property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates
       write SetMappingTCoordinates stored StoreMappingTCoordinates;
-    property MappingRCoordinates: TgCoordinates4 read GetMappingRCoordinates
+    property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates
       write SetMappingRCoordinates stored StoreMappingRCoordinates;
-    property MappingQCoordinates: TgCoordinates4 read GetMappingQCoordinates
+    property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates
       write SetMappingQCoordinates stored StoreMappingQCoordinates;
     // Texture Environment color
     property EnvColor: TGColor read FEnvColor write SetEnvColor;
@@ -615,7 +615,7 @@ type
   private
     FTexture: TGLTexture;
     FTextureIndex: Integer;
-    FTextureOffset, FTextureScale: TgCoordinates;
+    FTextureOffset, FTextureScale: TGLCoordinates;
     FTextureMatrixIsIdentity: Boolean;
     FTextureMatrix: TGLMatrix;
     FApplied: Boolean;
@@ -628,8 +628,8 @@ type
     function GetOwner: TPersistent; override;
     procedure SetTexture(const Value: TGLTexture);
     procedure SetTextureIndex(const Value: Integer);
-    procedure SetTextureOffset(const Value: TgCoordinates);
-    procedure SetTextureScale(const Value: TgCoordinates);
+    procedure SetTextureOffset(const Value: TGLCoordinates);
+    procedure SetTextureScale(const Value: TGLCoordinates);
     procedure NotifyTexMapChange(Sender: TObject);
     procedure CalculateTextureMatrix;
     procedure OnNotifyChange(Sender: TObject);
@@ -643,8 +643,8 @@ type
   published
     property Texture: TGLTexture read FTexture write SetTexture;
     property TextureIndex: Integer read FTextureIndex write SetTextureIndex;
-    property TextureOffset: TgCoordinates read FTextureOffset write SetTextureOffset;
-    property TextureScale: TgCoordinates read FTextureScale write SetTextureScale;
+    property TextureOffset: TGLCoordinates read FTextureOffset write SetTextureOffset;
+    property TextureScale: TGLCoordinates read FTextureScale write SetTextureScale;
   end;
 
   TGLTextureEx = class(TCollection)
@@ -2179,15 +2179,15 @@ begin
   end;
 end;
 
-procedure TGLTexture.SetMappingSCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingSCoordinates(const val: TGLCoordinates4);
 begin
   MappingSCoordinates.Assign(val);
 end;
 
-function TGLTexture.GetMappingSCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingSCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapSCoordinates) then
-    FMapSCoordinates := TgCoordinates4.CreateInitialized(Self, XHmgVector, csVector);
+    FMapSCoordinates := TGLCoordinates4.CreateInitialized(Self, XHmgVector, csVector);
   Result := FMapSCoordinates;
 end;
 
@@ -2199,15 +2199,15 @@ begin
     Result := false;
 end;
 
-procedure TGLTexture.SetMappingTCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingTCoordinates(const val: TGLCoordinates4);
 begin
   MappingTCoordinates.Assign(val);
 end;
 
-function TGLTexture.GetMappingTCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingTCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapTCoordinates) then
-    FMapTCoordinates := TgCoordinates4.CreateInitialized(Self, YHmgVector,
+    FMapTCoordinates := TGLCoordinates4.CreateInitialized(Self, YHmgVector,
       csVector);
   Result := FMapTCoordinates;
 end;
@@ -2220,15 +2220,15 @@ begin
     Result := false;
 end;
 
-procedure TGLTexture.SetMappingRCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingRCoordinates(const val: TGLCoordinates4);
 begin
   MappingRCoordinates.Assign(val);
 end;
 
-function TGLTexture.GetMappingRCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingRCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapRCoordinates) then
-    FMapRCoordinates := TgCoordinates4.CreateInitialized(Self, ZHmgVector,
+    FMapRCoordinates := TGLCoordinates4.CreateInitialized(Self, ZHmgVector,
       csVector);
   Result := FMapRCoordinates;
 end;
@@ -2241,15 +2241,15 @@ begin
     Result := false;
 end;
 
-procedure TGLTexture.SetMappingQCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingQCoordinates(const val: TGLCoordinates4);
 begin
   MappingQCoordinates.Assign(val);
 end;
 
-function TGLTexture.GetMappingQCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingQCoordinates: TGLCoordinates4;
 begin
   if not Assigned(FMapQCoordinates) then
-    FMapQCoordinates := TgCoordinates4.CreateInitialized(Self, WHmgVector,
+    FMapQCoordinates := TGLCoordinates4.CreateInitialized(Self, WHmgVector,
       csVector);
   Result := FMapQCoordinates;
 end;
@@ -2958,10 +2958,10 @@ begin
   inherited;
 
   FTexture := TGLTexture.Create(Self);
-  FTextureOffset := TgCoordinates.CreateInitialized(Self, NullHMGVector,
+  FTextureOffset := TGLCoordinates.CreateInitialized(Self, NullHMGVector,
     csPoint);
   FTextureOffset.OnNotifyChange := OnNotifyChange;
-  FTextureScale := TgCoordinates.CreateInitialized(Self, XYZHmgVector,
+  FTextureScale := TGLCoordinates.CreateInitialized(Self, XYZHmgVector,
     csPoint);
   FTextureScale.OnNotifyChange := OnNotifyChange;
 
@@ -3106,13 +3106,13 @@ begin
   end;
 end;
 
-procedure TGLTextureExItem.SetTextureOffset(const Value: TgCoordinates);
+procedure TGLTextureExItem.SetTextureOffset(const Value: TGLCoordinates);
 begin
   FTextureOffset.Assign(Value);
   NotifyChange(Self);
 end;
 
-procedure TGLTextureExItem.SetTextureScale(const Value: TgCoordinates);
+procedure TGLTextureExItem.SetTextureScale(const Value: TGLCoordinates);
 begin
   FTextureScale.Assign(Value);
   NotifyChange(Self);

+ 9 - 9
Source/GLS.ThorFX.pas

@@ -54,7 +54,7 @@ type
   private
     FClients: TList;
     FThorpoints: PThorpointArray;
-    FTarget: TgCoordinates;
+    FTarget: TGLCoordinates;
     FCadencer: TGLCadencer;
     FMaxpoints: integer;
     FGlowSize: single;
@@ -68,7 +68,7 @@ type
     procedure RegisterClient(aClient: TGLBThorFX);
     procedure DeRegisterClient(aClient: TGLBThorFX);
     procedure DeRegisterAllClients;
-    procedure SetTarget(const val: TgCoordinates);
+    procedure SetTarget(const val: TGLCoordinates);
     procedure SetCadencer(const val: TGLCadencer);
     procedure SetMaxpoints(const val: integer);
     function StoreGlowSize: boolean;
@@ -86,7 +86,7 @@ type
     destructor Destroy; override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
-    property Target: TgCoordinates read FTarget write SetTarget;
+    property Target: TGLCoordinates read FTarget write SetTarget;
     property Cadencer: TGLCadencer read FCadencer write SetCadencer;
     property Maxpoints: integer read FMaxpoints write SetMaxpoints default 256;
     property GlowSize: single read FGlowSize write FGlowSize stored StoreGlowSize;
@@ -106,13 +106,13 @@ type
   private
     FManager: TGLThorFXManager;
     FManagerName: String; // NOT persistent, temporarily used for persistence
-    FTarget: TgCoordinates;
+    FTarget: TGLCoordinates;
   protected
     procedure SetManager(const val: TGLThorFXManager);
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure Loaded; override;
-    procedure SetTarget(const val: TgCoordinates);
+    procedure SetTarget(const val: TGLCoordinates);
   public
     constructor Create(AOwner: TXCollection); override;
     destructor Destroy; override;
@@ -141,7 +141,7 @@ begin
   inherited Create(AOwner);
   FClients := TList.Create;
   RegisterManager(Self);
-  FTarget := TgCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
+  FTarget := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
   FTarget.Style := csPoint;
   FMaxpoints := 64;
   FGlowSize := 0.2;
@@ -201,7 +201,7 @@ begin
   FClients.Clear;
 end;
 
-procedure TGLThorFXManager.SetTarget(const val: TgCoordinates);
+procedure TGLThorFXManager.SetTarget(const val: TGLCoordinates);
 begin
   FTarget.Assign(val);
   ThorInit;
@@ -368,7 +368,7 @@ end;
 constructor TGLBThorFX.Create(AOwner: TXCollection);
 begin
   inherited Create(AOwner);
-  FTarget := TgCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
+  FTarget := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
   FTarget.Style := csPoint;
 end;
 
@@ -442,7 +442,7 @@ begin
   inherited Assign(Source);
 end;
 
-procedure TGLBThorFX.SetTarget(const val: TgCoordinates);
+procedure TGLBThorFX.SetTarget(const val: TGLCoordinates);
 begin
   FTarget.Assign(val);
 end;

+ 35 - 35
Source/GLS.VectorFileObjects.pas

@@ -443,7 +443,7 @@ type
     FExtentCacheRevision: Cardinal;
     FTexCoords: TGLAffineVectorList; // provision for 3D textures
     FLightMapTexCoords: TGLAffineVectorList; // reserved for 2D surface needs
-    FColors: TGVectorList;
+    FColors: TGLVectorList;
     FFaceGroups: TGLFaceGroups;
     FMode: TGLMeshObjectMode;
     FRenderingOptions: TGLMeshObjectRenderingOptions;
@@ -467,20 +467,20 @@ type
   protected
     procedure SetTexCoords(const val: TGLAffineVectorList);
     procedure SetLightmapTexCoords(const val: TGLAffineVectorList);
-    procedure SetColors(const val: TGVectorList);
+    procedure SetColors(const val: TGLVectorList);
     procedure BufferArrays;
     procedure DeclareArraysToOpenGL(var mrci: TGLRenderContextInfo;
    	  EvenIfAlreadyDeclared: Boolean = False);
     procedure DisableOpenGLArrays(var mrci: TGLRenderContextInfo);
     procedure EnableLightMapArray(var mrci: TGLRenderContextInfo);
     procedure DisableLightMapArray(var mrci: TGLRenderContextInfo);
-    procedure SetTexCoordsEx(Index: Integer; const val: TGVectorList);
-    function GetTexCoordsEx(Index: Integer): TGVectorList;
-    procedure SetBinormals(const val: TGVectorList);
-    function GetBinormals: TGVectorList;
+    procedure SetTexCoordsEx(Index: Integer; const val: TGLVectorList);
+    function GetTexCoordsEx(Index: Integer): TGLVectorList;
+    procedure SetBinormals(const val: TGLVectorList);
+    function GetBinormals: TGLVectorList;
     procedure SetBinormalsTexCoordIndex(const val: Integer);
-    procedure SetTangents(const val: TGVectorList);
-    function GetTangents: TGVectorList;
+    procedure SetTangents(const val: TGLVectorList);
+    function GetTangents: TGLVectorList;
     procedure SetTangentsTexCoordIndex(const val: Integer);
     property ValidBuffers: TGLVBOBuffers read FValidBuffers write SetValidBuffers;
   public
@@ -513,10 +513,10 @@ type
     function PointInObject(const aPoint: TAffineVector): Boolean; virtual;
     // Returns the triangle data for a given triangle
     procedure GetTriangleData(tri: Integer; list: TGLAffineVectorList; var v0, v1, v2: TAffineVector); overload;
-    procedure GetTriangleData(tri: Integer; list: TGVectorList; var v0, v1, v2: TGLVector); overload;
+    procedure GetTriangleData(tri: Integer; list: TGLVectorList; var v0, v1, v2: TGLVector); overload;
     // Sets the triangle data of a given triangle
     procedure SetTriangleData(tri: Integer; list: TGLAffineVectorList; const v0, v1, v2: TAffineVector); overload;
-    procedure SetTriangleData(tri: Integer; list: TGVectorList; const v0, v1, v2: TGLVector); overload;
+    procedure SetTriangleData(tri: Integer; list: TGLVectorList; const v0, v1, v2: TGLVector); overload;
     (* Build the tangent space from the mesh object's vertex, normal
       and texcoord data, filling the binormals and tangents where specified. *)
     procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);
@@ -524,7 +524,7 @@ type
     property Mode: TGLMeshObjectMode read FMode write FMode;
     property TexCoords: TGLAffineVectorList read FTexCoords write SetTexCoords;
     property LightMapTexCoords: TGLAffineVectorList read FLightMapTexCoords write SetLightmapTexCoords;
-    property Colors: TGVectorList read FColors write SetColors;
+    property Colors: TGLVectorList read FColors write SetColors;
     property FaceGroups: TGLFaceGroups read FFaceGroups;
     property RenderingOptions: TGLMeshObjectRenderingOptions read FRenderingOptions write FRenderingOptions;
     // If set, rendering will use VBO's instead of vertex arrays.
@@ -537,11 +537,11 @@ type
       Lists are created on demand, meaning that if you request
       TexCoordsEx[4] it will create the list up to and including 4.
       The extensions are only applied to the texture environment if they contain data. *)
-    property TexCoordsEx[index: Integer]: TGVectorList read GetTexCoordsEx write SetTexCoordsEx;
+    property TexCoordsEx[index: Integer]: TGLVectorList read GetTexCoordsEx write SetTexCoordsEx;
     // A TexCoordsEx list wrapper for binormals usage, returns TexCoordsEx[BinormalsTexCoordIndex].
-    property Binormals: TGVectorList read GetBinormals write SetBinormals;
+    property Binormals: TGLVectorList read GetBinormals write SetBinormals;
     // A TexCoordsEx list wrapper for tangents usage, returns TexCoordsEx[BinormalsTexCoordIndex].
-    property Tangents: TGVectorList read GetTangents write SetTangents;
+    property Tangents: TGLVectorList read GetTangents write SetTangents;
     // Specify the texcoord extension index for binormals (default = 2)
     property BinormalsTexCoordIndex: Integer read FBinormalsTexCoordIndex write SetBinormalsTexCoordIndex;
     // Specify the texcoord extension index for tangents (default = 3)
@@ -892,7 +892,7 @@ type
     FOverlaySkeleton: Boolean;
     FIgnoreMissingTextures: Boolean;
     FAutoCentering: TGLMeshAutoCenterings;
-    FAutoScaling: TgCoordinates;
+    FAutoScaling: TGLCoordinates;
     FMaterialLibraryCachesPrepared: Boolean;
     FConnectivity: TObject;
     FLastLoadedFilename: string;
@@ -904,7 +904,7 @@ type
     procedure SetLightmapLibrary(const val: TGLMaterialLibrary);
     procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation);
     procedure SetOverlaySkeleton(const val: Boolean);
-    procedure SetAutoScaling(const Value: TgCoordinates);
+    procedure SetAutoScaling(const Value: TGLCoordinates);
     procedure DestroyHandle; override;
     (* Invoked after creating a TGLVectorFile and before loading.
       Triggered by LoadFromFile/Stream and AddDataFromFile/Stream.
@@ -1002,7 +1002,7 @@ type
       no effect on already loaded mesh data or when adding from a file/stream.
       If you want to alter mesh data, use direct manipulation methods
       (on the TMeshObjects). *)
-    property AutoScaling: TgCoordinates read FAutoScaling write FAutoScaling;
+    property AutoScaling: TGLCoordinates read FAutoScaling write FAutoScaling;
     (* Material library where mesh materials will be stored/retrieved.
       If this property is not defined or if UseMeshMaterials is false,
       only the FreeForm's material will be used (and the mesh's materials
@@ -2910,7 +2910,7 @@ begin
   FMode := momTriangles;
   FTexCoords := TGLAffineVectorList.Create;
   FLightMapTexCoords := TGLAffineVectorList.Create;
-  FColors := TGVectorList.Create;
+  FColors := TGLVectorList.Create;
   FFaceGroups := TGLFaceGroups.CreateOwned(Self);
   FTexCoordsEx := TList.Create;
   FTangentsTexCoordIndex := 1;
@@ -2936,7 +2936,7 @@ begin
   FTexCoords.Free;
   FLightMapTexCoords.Free;
   for i := 0 to FTexCoordsEx.Count - 1 do
-    TGVectorList(FTexCoordsEx[i]).Free;
+    TGLVectorList(FTexCoordsEx[i]).Free;
   FTexCoordsEx.Free;
   if Assigned(FOwner) then
     FOwner.Remove(Self);
@@ -2962,15 +2962,15 @@ begin
 
     // Clear FTexCoordsEx.
     for I := 0 to FTexCoordsEx.Count - 1 do
-      TGVectorList(FTexCoordsEx[I]).Free;
+      TGLVectorList(FTexCoordsEx[I]).Free;
 
     FTexCoordsEx.Count := TGLMeshObject(Source).FTexCoordsEx.Count;
 
     // Fill FTexCoordsEx.
     for I := 0 to FTexCoordsEx.Count - 1 do
     begin
-      FTexCoordsEx[I] := TGVectorList.Create;
-      TGVectorList(FTexCoordsEx[I]).Assign(TGLMeshObject(Source).FTexCoordsEx[I]);
+      FTexCoordsEx[I] := TGLVectorList.Create;
+      TGLVectorList(FTexCoordsEx[I]).Assign(TGLMeshObject(Source).FTexCoordsEx[I]);
     end;
   end;
 end;
@@ -3197,32 +3197,32 @@ begin
   FLightMapTexCoords.Assign(val);
 end;
 
-procedure TGLMeshObject.SetColors(const val: TGVectorList);
+procedure TGLMeshObject.SetColors(const val: TGLVectorList);
 begin
   FColors.Assign(val);
 end;
 
-procedure TGLMeshObject.SetTexCoordsEx(Index: Integer; const val: TGVectorList);
+procedure TGLMeshObject.SetTexCoordsEx(Index: Integer; const val: TGLVectorList);
 begin
   TexCoordsEx[index].Assign(val);
 end;
 
-function TGLMeshObject.GetTexCoordsEx(Index: Integer): TGVectorList;
+function TGLMeshObject.GetTexCoordsEx(Index: Integer): TGLVectorList;
 var
   i: Integer;
 begin
   if index > FTexCoordsEx.Count - 1 then
     for i := FTexCoordsEx.Count - 1 to index do
-      FTexCoordsEx.Add(TGVectorList.Create);
-  Result := TGVectorList(FTexCoordsEx[index]);
+      FTexCoordsEx.Add(TGLVectorList.Create);
+  Result := TGLVectorList(FTexCoordsEx[index]);
 end;
 
-procedure TGLMeshObject.SetBinormals(const val: TGVectorList);
+procedure TGLMeshObject.SetBinormals(const val: TGLVectorList);
 begin
   Binormals.Assign(val);
 end;
 
-function TGLMeshObject.GetBinormals: TGVectorList;
+function TGLMeshObject.GetBinormals: TGLVectorList;
 begin
   Result := TexCoordsEx[BinormalsTexCoordIndex];
 end;
@@ -3236,12 +3236,12 @@ begin
   end;
 end;
 
-procedure TGLMeshObject.SetTangents(const val: TGVectorList);
+procedure TGLMeshObject.SetTangents(const val: TGLVectorList);
 begin
   Tangents.Assign(val);
 end;
 
-function TGLMeshObject.GetTangents: TGVectorList;
+function TGLMeshObject.GetTangents: TGLVectorList;
 begin
   Result := TexCoordsEx[TangentsTexCoordIndex];
 end;
@@ -3331,7 +3331,7 @@ begin
   end;
 end;
 
-procedure TGLMeshObject.GetTriangleData(tri: Integer; list: TGVectorList; var v0, v1, v2: TGLVector);
+procedure TGLMeshObject.GetTriangleData(tri: Integer; list: TGLVectorList; var v0, v1, v2: TGLVector);
 var
   i, LastCount, Count: Integer;
   fg: TFGVertexIndexList;
@@ -3483,7 +3483,7 @@ begin
   end;
 end;
 
-procedure TGLMeshObject.SetTriangleData(tri: Integer; list: TGVectorList; const v0, v1, v2: TGLVector);
+procedure TGLMeshObject.SetTriangleData(tri: Integer; list: TGLVectorList; const v0, v1, v2: TGLVector);
 var
   i, LastCount, Count: Integer;
   fg: TFGVertexIndexList;
@@ -5940,7 +5940,7 @@ begin
   FAutoCentering := [];
   FAxisAlignedDimensionsCache.X := -1;
   FBaryCenterOffsetChanged := True;
-  FAutoScaling := TgCoordinates.CreateInitialized(Self, XYZWHmgVector, csPoint);
+  FAutoScaling := TGLCoordinates.CreateInitialized(Self, XYZWHmgVector, csPoint);
 end;
 
 destructor TGLBaseMesh.Destroy;
@@ -6190,7 +6190,7 @@ begin
   end;
 end;
 
-procedure TGLBaseMesh.SetAutoScaling(const Value: TgCoordinates);
+procedure TGLBaseMesh.SetAutoScaling(const Value: TGLCoordinates);
 begin
   FAutoScaling.SetPoint(Value.DirectX, Value.DirectY, Value.DirectZ);
 end;

+ 27 - 27
Source/GLS.VectorLists.pas

@@ -5,7 +5,7 @@ unit GLS.VectorLists;
 (*
   Misc. lists of vectors and entities
   The registered classes are:
-    [TGLAffineVectorList, TGVectorList, TGTexPointList,
+    [TGLAffineVectorList, TGLVectorList, TGTexPointList,
      TGSingleList, TGDoubleList, TG4ByteList, TGLongWordList]
 *)
 interface
@@ -177,7 +177,7 @@ type
   (* A list of TGLVectors.
    Similar to TList, but using TGLVector as items.
    The list has stack-like push/pop methods *)
-  TGVectorList = class(TGLBaseVectorList)
+  TGLVectorList = class(TGLBaseVectorList)
   private
     FList: PVectorArray;
   protected
@@ -1538,29 +1538,29 @@ begin
 end;
 
 // ------------------
-// ------------------ TGVectorList ------------------
+// ------------------ TGLVectorList ------------------
 // ------------------
 
-constructor TGVectorList.Create;
+constructor TGLVectorList.Create;
 begin
   FItemSize := SizeOf(TGLVector);
   inherited Create;
   FGrowthDelta := cDefaultListGrowthDelta;
 end;
 
-procedure TGVectorList.Assign(Src: TPersistent);
+procedure TGLVectorList.Assign(Src: TPersistent);
 begin
   if Assigned(Src) then
   begin
     inherited;
-    if (Src is TGVectorList) then
-      System.Move(TGVectorList(Src).FList^, FList^, FCount * SizeOf(TGLVector));
+    if (Src is TGLVectorList) then
+      System.Move(TGLVectorList(Src).FList^, FList^, FCount * SizeOf(TGLVector));
   end
   else
     Clear;
 end;
 
-function TGVectorList.Add(const item: TGLVector): Integer;
+function TGLVectorList.Add(const item: TGLVector): Integer;
 begin
   Result := FCount;
   if Result = FCapacity then
@@ -1569,17 +1569,17 @@ begin
   Inc(FCount);
 end;
 
-function TGVectorList.Add(const item: TAffineVector; w: Single): Integer;
+function TGLVectorList.Add(const item: TAffineVector; w: Single): Integer;
 begin
   Result := Add(VectorMake(item, w));
 end;
 
-function TGVectorList.Add(const X, Y, Z, w: Single): Integer;
+function TGLVectorList.Add(const X, Y, Z, w: Single): Integer;
 begin
   Result := Add(VectorMake(X, Y, Z, w));
 end;
 
-procedure TGVectorList.Add(const i1, i2, i3: TAffineVector; w: Single);
+procedure TGLVectorList.Add(const i1, i2, i3: TAffineVector; w: Single);
 begin
   Inc(FCount, 3);
   while FCount > FCapacity do
@@ -1592,22 +1592,22 @@ begin
   FList^[FCount - 1].W := w;
 end;
 
-function TGVectorList.AddVector(const item: TAffineVector): Integer;
+function TGLVectorList.AddVector(const item: TAffineVector): Integer;
 begin
   Result := Add(VectorMake(item));
 end;
 
-function TGVectorList.AddPoint(const item: TAffineVector): Integer;
+function TGLVectorList.AddPoint(const item: TAffineVector): Integer;
 begin
   Result := Add(PointMake(item));
 end;
 
-function TGVectorList.AddPoint(const X, Y: Single; const Z: Single = 0): Integer;
+function TGLVectorList.AddPoint(const X, Y: Single; const Z: Single = 0): Integer;
 begin
   Result := Add(PointMake(X, Y, Z));
 end;
 
-function TGVectorList.Get(Index: Integer): TGLVector;
+function TGLVectorList.Get(Index: Integer): TGLVector;
 begin
 {$IFOPT R+}
     Assert(Cardinal(Index) < Cardinal(FCount));
@@ -1615,7 +1615,7 @@ begin
   Result := FList^[Index];
 end;
 
-procedure TGVectorList.Insert(Index: Integer; const Item: TGLVector);
+procedure TGLVectorList.Insert(Index: Integer; const Item: TGLVector);
 begin
 {$IFOPT R+}
     Assert(Cardinal(Index) < Cardinal(FCount));
@@ -1629,7 +1629,7 @@ begin
   Inc(FCount);
 end;
 
-procedure TGVectorList.Put(Index: Integer; const Item: TGLVector);
+procedure TGLVectorList.Put(Index: Integer; const Item: TGLVector);
 begin
 {$IFOPT R+}
     Assert(Cardinal(Index) < Cardinal(FCount));
@@ -1637,18 +1637,18 @@ begin
   FList^[Index] := Item;
 end;
 
-procedure TGVectorList.SetCapacity(NewCapacity: Integer);
+procedure TGLVectorList.SetCapacity(NewCapacity: Integer);
 begin
   inherited;
   FList := PVectorArray(FBaseList);
 end;
 
-procedure TGVectorList.Push(const Val: TGLVector);
+procedure TGLVectorList.Push(const Val: TGLVector);
 begin
   Add(Val);
 end;
 
-function TGVectorList.Pop: TGLVector;
+function TGLVectorList.Pop: TGLVector;
 begin
   if FCount > 0 then
   begin
@@ -1659,7 +1659,7 @@ begin
     Result := NullHmgVector;
 end;
 
-function TGVectorList.IndexOf(const item: TGLVector): Integer;
+function TGLVectorList.IndexOf(const item: TGLVector): Integer;
 var
   I: Integer;
 begin
@@ -1672,14 +1672,14 @@ begin
     end;
 end;
 
-function TGVectorList.FindOrAdd(const item: TGLVector): Integer;
+function TGLVectorList.FindOrAdd(const item: TGLVector): Integer;
 begin
   Result := IndexOf(item);
   if Result < 0 then
     Result := Add(item);
 end;
 
-function TGVectorList.FindOrAddPoint(const item: TAffineVector): Integer;
+function TGLVectorList.FindOrAddPoint(const item: TAffineVector): Integer;
 var
   ptItem: TGLVector;
 begin
@@ -1689,14 +1689,14 @@ begin
     Result := Add(ptItem);
 end;
 
-procedure TGVectorList.Lerp(const list1, list2: TGLBaseVectorList; lerpFactor: Single);
+procedure TGLVectorList.Lerp(const list1, list2: TGLBaseVectorList; lerpFactor: Single);
 begin
-  if (list1 is TGVectorList) and (list2 is TGVectorList) then
+  if (list1 is TGLVectorList) and (list2 is TGLVectorList) then
   begin
     Assert(list1.Count = list2.Count);
     Capacity := list1.Count;
     FCount := list1.Count;
-    VectorArrayLerp(TGVectorList(list1).List, TGVectorList(list2).List,
+    VectorArrayLerp(TGLVectorList(list1).List, TGLVectorList(list2).List,
       lerpFactor, FCount, List);
   end;
 end;
@@ -3387,7 +3387,7 @@ end;
 initialization
 // ------------------------------------------------------------------
 
-  RegisterClasses([TGLAffineVectorList, TGVectorList, TGTexPointList, TGSingleList,
+  RegisterClasses([TGLAffineVectorList, TGLVectorList, TGTexPointList, TGSingleList,
                    TGDoubleList, TG4ByteList, TGLongWordList]);
 
 end.

+ 15 - 15
Source/GLSL.ShapeShaders.pas

@@ -323,7 +323,7 @@ type
     FRandomFurLength : Boolean;
     FColorScale: TGColor;
     FAmbient: TGColor;
-    FGravity : TgCoordinates;
+    FGravity : TGLCoordinates;
     FLightIntensity : Single;
     FMainTex  : TGLTexture;
     FNoiseTex : TGLTexture;
@@ -339,7 +339,7 @@ type
     procedure SetNoiseTexName(const Value: TGLLibMaterialName);
     function GetMainTexName: TGLLibMaterialName;
     procedure SetMainTexName(const Value: TGLLibMaterialName);
-    procedure SetGravity(APosition:TgCoordinates);
+    procedure SetGravity(APosition:TGLCoordinates);
     procedure SetAmbient(AValue: TGColor);
     procedure SetColorScale(AValue: TGColor);
   protected
@@ -366,7 +366,7 @@ type
     //property BlendEquation : TBlendEquation read FBlendEquation write FBlendEquation default beMin;
     property BlendSrc  : TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcColor;
     property BlendDst  : TGLBlendFunction read FBlendDst write FBlendDst default bfOneMinusDstColor;
-    property Gravity : TgCoordinates Read FGravity write setGravity;
+    property Gravity : TGLCoordinates Read FGravity write setGravity;
     property LightIntensity : Single read FLightIntensity Write FLightIntensity;
   end;
 
@@ -412,18 +412,18 @@ type
   (* Custom class for a shader that simulate Lattice *)
   TGLCustomGLSLSimpleLatticeShader = class(TGLCustomGLSLShader)
   private
-    FLatticeScale: TgCoordinates2;
-    FLatticeThreshold: TgCoordinates2;
-    procedure SetLatticeScale(const Value: TgCoordinates2);
-    procedure SetLatticeThreshold(const Value: TgCoordinates2);
+    FLatticeScale: TGLCoordinates2;
+    FLatticeThreshold: TGLCoordinates2;
+    procedure SetLatticeScale(const Value: TGLCoordinates2);
+    procedure SetLatticeThreshold(const Value: TGLCoordinates2);
   protected
     procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
     function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
   public
     constructor Create(AOwner : TComponent); override;
     destructor Destroy; override;
-    property LatticeScale: TgCoordinates2 read FLatticeScale write SetLatticeScale;
-    property LatticeThreshold: TgCoordinates2 read FLatticeThreshold write SetLatticeThreshold;
+    property LatticeScale: TGLCoordinates2 read FLatticeScale write SetLatticeScale;
+    property LatticeThreshold: TGLCoordinates2 read FLatticeThreshold write SetLatticeThreshold;
   end;
 
 (* Custom class for GLSLLatticeShader.
@@ -1768,7 +1768,7 @@ begin
   // The Blend Funcs are very important for realistic fur rendering it can vary follow your textures
   FBlendSrc := bfOneMinusSrcColor;
   FBlendDst := bfOneMinusSrcAlpha;
-  FGravity := TgCoordinates.Create(self);
+  FGravity := TGLCoordinates.Create(self);
   FGravity.AsAffineVector := AffinevectorMake(0.0,0.0,0.0);
   FLightIntensity := 2.5;
 end;
@@ -1937,7 +1937,7 @@ begin
         end;
   end;
 
-  procedure TGLCustomGLSLFurShader.SetGravity(APosition: TgCoordinates);
+  procedure TGLCustomGLSLFurShader.SetGravity(APosition: TGLCoordinates);
   begin
     FGravity.SetPoint(APosition.DirectX, APosition.DirectY, APosition.DirectZ);
   end;
@@ -2043,8 +2043,8 @@ begin
       Add('} ');
     end;
     // Initial stuff.
-    FLatticeScale := TgCoordinates2.Create(self);
-    FLatticeThreshold := TgCoordinates2.Create(self);
+    FLatticeScale := TGLCoordinates2.Create(self);
+    FLatticeThreshold := TGLCoordinates2.Create(self);
 
     FLatticeScale.SetPoint2D(10, 40);
     FLatticeThreshold.SetPoint2D(0.15, 0.3);
@@ -2074,13 +2074,13 @@ begin
   end;
 
   procedure TGLCustomGLSLSimpleLatticeShader.SetLatticeScale
-    (const Value: TgCoordinates2);
+    (const Value: TGLCoordinates2);
   begin
     FLatticeScale.Assign(Value);
   end;
 
   procedure TGLCustomGLSLSimpleLatticeShader.SetLatticeThreshold
-    (const Value: TgCoordinates2);
+    (const Value: TGLCoordinates2);
   begin
     FLatticeThreshold.Assign(Value);
   end;

+ 10 - 10
Source/GLSL.TextureShaders.pas

@@ -49,8 +49,8 @@ type
     FNeedToUpdateTextureMatrix: Boolean;
     FTextureMatrixIsUnitary: Boolean;
     FLibMaterial: TGLLibMaterial;
-    FTexOffset: TgCoordinates2;
-    FTexScale: TgCoordinates2;
+    FTexOffset: TGLCoordinates2;
+    FTexScale: TGLCoordinates2;
     FBlendingMode: TGLBlendingMode;
     FSpecular: TGColor;
     FAmbient: TGColor;
@@ -68,8 +68,8 @@ type
     procedure SetLibMaterialName(const Value: TGLLibMaterialName);
     procedure SetBlendingMode(const Value: TGLBlendingMode);
     procedure SetLibMaterial(const Value: TGLLibMaterial);
-    procedure SetTexOffset(const Value: TgCoordinates2);
-    procedure SetTexScale(const Value: TgCoordinates2);
+    procedure SetTexOffset(const Value: TGLCoordinates2);
+    procedure SetTexScale(const Value: TGLCoordinates2);
     function GetTextureMatrix: TGLMatrix;
     function GetTextureMatrixIsUnitary: Boolean;
   protected
@@ -88,8 +88,8 @@ type
     property TextureMatrix: TGLMatrix read GetTextureMatrix;
     property TextureMatrixIsUnitary: Boolean read GetTextureMatrixIsUnitary;
   published
-    property TexOffset: TgCoordinates2 read FTexOffset write SetTexOffset;
-    property TexScale: TgCoordinates2 read FTexScale write SetTexScale;
+    property TexOffset: TGLCoordinates2 read FTexOffset write SetTexOffset;
+    property TexScale: TGLCoordinates2 read FTexScale write SetTexScale;
     property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode;
     property Emission: TGColor read FEmission write SetEmission;
     property Ambient: TGColor read FAmbient write SetAmbient;
@@ -340,10 +340,10 @@ begin
   FEmission := TGColor.Create(Self);
   FEmission.OnNotifyChange := OtherNotifychange;
 
-  FTexOffset := TgCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2d);
+  FTexOffset := TGLCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2d);
   FTexOffset.OnNotifyChange := coordNotifychange;
 
-  FTexScale := TgCoordinates2.CreateInitialized(Self, XYZHmgVector, csPoint2d);
+  FTexScale := TGLCoordinates2.CreateInitialized(Self, XYZHmgVector, csPoint2d);
   FTexScale.OnNotifyChange := coordNotifychange;
   FNeedToUpdateTextureMatrix := True;
 end;
@@ -482,13 +482,13 @@ begin
   FSpecular.Assign(Value);
 end;
 
-procedure TGLTextureSharingShaderMaterial.SetTexOffset(const Value: TgCoordinates2);
+procedure TGLTextureSharingShaderMaterial.SetTexOffset(const Value: TGLCoordinates2);
 begin
   FTexOffset.Assign(Value);
   FNeedToUpdateTextureMatrix := True;
 end;
 
-procedure TGLTextureSharingShaderMaterial.SetTexScale(const Value: TgCoordinates2);
+procedure TGLTextureSharingShaderMaterial.SetTexScale(const Value: TGLCoordinates2);
 begin
   FTexScale.Assign(Value);
   FNeedToUpdateTextureMatrix := True;

+ 1 - 0
Source/GLScene.AnimationUtils.pas

@@ -13,6 +13,7 @@ uses
   System.SysUtils,
   System.Classes,
   System.Math,
+
   GLScene.VectorTypes,
   GLScene.VectorGeometry;
 

+ 3 - 3
Sourcex/FMxInfo.fmx

@@ -840,7 +840,7 @@ object InfoForm: TInfoForm
         Size.PlatformDefault = False
         TabOrder = 0
         Viewport.Width = 520.000000000000000000
-        Viewport.Height = 352.000000000000000000
+        Viewport.Height = 336.000000000000000000
       end
     end
     object TabItemAbout: TTabItem
@@ -884,8 +884,8 @@ object InfoForm: TInfoForm
         Size.Height = 233.000000000000000000
         Size.PlatformDefault = False
         TabOrder = 0
-        Viewport.Width = 536.000000000000000000
-        Viewport.Height = 229.000000000000000000
+        Viewport.Width = 540.000000000000000000
+        Viewport.Height = 233.000000000000000000
       end
       object LabelOfficial: TLabel
         AutoSize = True

+ 921 - 0
Sourcex/Formatx.VRML.pas

@@ -0,0 +1,921 @@
+//
+// The unit is part of the GLScene Engine, http://glscene.org
+//
+unit Formatx.VRML;
+
+(*  VRML file format parser. *)
+
+interface
+
+{$I GLScene.Defines.inc}
+
+uses
+  System.Classes,
+  System.SysUtils,
+  System.Types,
+
+  GLScene.VectorGeometry,
+  GLScene.VectorTypes,
+  GXS.VectorLists,
+  GLScene.Utils;
+
+type
+  TVRMLNode = class
+  private
+    FNodes: TList;
+    FParent: TVRMLNode;
+    FName, FDefName: String;
+    function GetNode(index: Integer): TVRMLNode;
+  public
+    constructor Create; virtual;
+    constructor CreateOwned(AParent: TVRMLNode);
+    destructor Destroy; override;
+    function Count: Integer;
+    procedure Clear;
+    procedure Add(node: TVRMLNode);
+    procedure Remove(node: TVRMLNode);
+    procedure Delete(index: Integer);
+    property Nodes[index: Integer]: TVRMLNode read GetNode; default;
+    property Parent: TVRMLNode read FParent;
+    property Name: String read FName write FName;
+    property DefName: String read FDefName write FDefName;
+  end;
+
+  TVRMLSingleArray = class(TVRMLNode)
+  private
+    FValues: TgxSingleList;
+  public
+    constructor Create; override;
+    destructor Destroy; override;
+    property Values: TgxSingleList read FValues;
+  end;
+
+  TVRMLIntegerArray = class(TVRMLNode)
+  private
+    FValues: TgxIntegerList;
+  public
+    constructor Create; override;
+    destructor Destroy; override;
+    property Values: TgxIntegerList read FValues;
+  end;
+
+  TVRMLMaterial = class(TVRMLNode)
+  private
+    FDiffuseColor, FAmbientColor, FSpecularColor, FEmissiveColor: TVector3f;
+    FTransparency, FShininess: Single;
+    FHasDiffuse, FHasAmbient, FHasSpecular, FHasEmissive, FHasTransparency,
+      FHasShininess: Boolean;
+  public
+    constructor Create; override;
+    property DiffuseColor: TVector3f read FDiffuseColor write FDiffuseColor;
+    property AmbientColor: TVector3f read FAmbientColor write FAmbientColor;
+    property SpecularColor: TVector3f read FSpecularColor write FSpecularColor;
+    property EmissiveColor: TVector3f read FEmissiveColor write FEmissiveColor;
+    property Transparency: Single read FTransparency write FTransparency;
+    property Shininess: Single read FShininess write FShininess;
+    property HasDiffuse: Boolean read FHasDiffuse write FHasDiffuse;
+    property HasAmbient: Boolean read FHasAmbient write FHasAmbient;
+    property HasSpecular: Boolean read FHasSpecular write FHasSpecular;
+    property HasEmissive: Boolean read FHasEmissive write FHasEmissive;
+    property HasTransparency: Boolean read FHasTransparency
+      write FHasTransparency;
+    property HasShininess: Boolean read FHasShininess write FHasShininess;
+  end;
+
+  TVRMLUse = class(TVRMLNode)
+  private
+    FValue: String;
+  public
+    property Value: String read FValue write FValue;
+  end;
+
+  TVRMLShapeHints = class(TVRMLNode)
+  private
+    FCreaseAngle: Single;
+  public
+    property CreaseAngle: Single read FCreaseAngle write FCreaseAngle;
+  end;
+
+  TVRMLTransform = class(TVRMLNode)
+  private
+    FCenter: TVector3f;
+    FRotation: TVector4f;
+    FScaleFactor: TVector3f;
+  public
+    constructor Create; override;
+    property Center: TVector3f read FCenter write FCenter;
+    property Rotation: TVector4f read FRotation write FRotation;
+    property ScaleFactor: TVector3f read FScaleFactor write FScaleFactor;
+  end;
+
+  TVRMLParser = class
+  private
+    FCursor: Integer;
+    FTokens: TStringList;
+    FRootNode: TVRMLNode;
+    FCurrentNode: TVRMLNode;
+    FAllowUnknownNodes: Boolean;
+    FDefines: TList;
+  protected
+    function ReadToken: String;
+    function ReadSingle: Single;
+    function ReadVector3f: TVector3f;
+    function ReadVector4f: TVector4f;
+    procedure ReadUnknownArray(DefName: String = '');
+    procedure ReadUnknownHeirachy(DefName: String = '');
+    procedure ReadUnknown(unknown_token: String; DefName: String = '');
+    procedure ReadPointArray(DefName: String = '');
+    procedure ReadCoordIndexArray(DefName: String = '');
+    procedure ReadNormalIndexArray(DefName: String = '');
+    procedure ReadTextureCoordIndexArray(DefName: String = '');
+    procedure ReadCoordinate3(DefName: String = '');
+    procedure ReadNormal(DefName: String = '');
+    procedure ReadTextureCoordinate2(DefName: String = '');
+    procedure ReadMaterial(DefName: String = '');
+    procedure ReadIndexedFaceSet(DefName: String = '');
+    procedure ReadTransform(DefName: String = '');
+    procedure ReadShapeHints(DefName: String = '');
+    procedure ReadSeparator(DefName: String = '');
+    procedure ReadGroup(DefName: String = '');
+    procedure ReadDef;
+    procedure ReadUse;
+  public
+    constructor Create;
+    destructor Destroy; override;
+    procedure Parse(Text: String);
+    property RootNode: TVRMLNode read FRootNode;
+    property AllowUnknownNodes: Boolean read FAllowUnknownNodes
+      write FAllowUnknownNodes;
+  end;
+
+implementation // ------------------------------------------------------------
+
+function CreateVRMLTokenList(Text: String): TStringList;
+const
+  cSymbols: array [0 .. 3] of char = ('{', '}', '[', ']');
+var
+  i, j, p: Integer;
+  str, token: String;
+begin
+  Result := TStringList.Create;
+
+  Result.Text := Text;
+  for i := 0 to Result.Count - 1 do
+  begin
+    p := Pos('#', Result[i]);
+    if p > 0 then
+      Result[i] := Copy(Result[i], 1, p - 1);
+  end;
+
+  Result.CommaText := Result.Text;
+  for j := 0 to Length(cSymbols) - 1 do
+  begin
+    i := 0;
+    repeat
+      token := Result[i];
+      p := Pos(cSymbols[j], token);
+      if (p > 0) and (token <> cSymbols[j]) then
+      begin
+        str := Copy(token, p + 1, Length(token) - p);
+
+        if (p = 1) then
+        begin
+          Result.Delete(i);
+          Result.Insert(i, trim(str));
+          Result.Insert(i, cSymbols[j]);
+        end
+        else
+        begin
+          Result.Delete(i);
+          if Length(str) > 0 then
+            Result.Insert(i, trim(str));
+          Result.Insert(i, cSymbols[j]);
+          Result.Insert(i, trim(Copy(token, 1, p - 1)));
+        end;
+      end;
+      Inc(i);
+    until i >= Result.Count - 1;
+  end;
+end;
+
+// ---------------
+// --------------- TVRMLNode ---------------
+// ---------------
+
+constructor TVRMLNode.Create;
+begin
+  FNodes := TList.Create;
+end;
+
+constructor TVRMLNode.CreateOwned(AParent: TVRMLNode);
+begin
+  Create;
+  if Assigned(AParent) then
+    AParent.Add(Self);
+end;
+
+destructor TVRMLNode.Destroy;
+begin
+  Clear;
+  FNodes.Free;
+  inherited;
+end;
+
+function TVRMLNode.GetNode(index: Integer): TVRMLNode;
+begin
+  Result := TVRMLNode(FNodes[index]);
+end;
+
+function TVRMLNode.Count: Integer;
+begin
+  Result := FNodes.Count;
+end;
+
+procedure TVRMLNode.Clear;
+begin
+  while FNodes.Count > 0 do
+    Delete(0);
+end;
+
+procedure TVRMLNode.Add(node: TVRMLNode);
+begin
+  if not Assigned(node) then
+    exit;
+  if Assigned(node.Parent) then
+    node.Parent.FNodes.Remove(node);
+  FNodes.Add(node);
+  node.FParent := Self;
+end;
+
+procedure TVRMLNode.Remove(node: TVRMLNode);
+begin
+  if not Assigned(node) then
+    exit;
+  FNodes.Remove(node);
+  node.Free;
+end;
+
+procedure TVRMLNode.Delete(index: Integer);
+begin
+  if (index < 0) or (index >= Count) then
+    exit;
+  Nodes[index].Free;
+  FNodes.Delete(index);
+end;
+
+
+// ---------------
+// --------------- TVRMLSingleArray ---------------
+// ---------------
+
+constructor TVRMLSingleArray.Create;
+begin
+  inherited;
+  FValues := TgxSingleList.Create;
+end;
+
+destructor TVRMLSingleArray.Destroy;
+begin
+  FValues.Free;
+  inherited;
+end;
+
+
+// ---------------
+// --------------- TVRMLIntegerArray ---------------
+// ---------------
+
+constructor TVRMLIntegerArray.Create;
+begin
+  inherited;
+  FValues := TgxIntegerList.Create;
+end;
+
+destructor TVRMLIntegerArray.Destroy;
+begin
+  FValues.Free;
+  inherited;
+end;
+
+
+// ---------------
+// --------------- TVRMLMaterial ---------------
+// ---------------
+
+constructor TVRMLMaterial.Create;
+begin
+  inherited;
+  // Default shininess value
+  FHasDiffuse := False;
+  FHasAmbient := False;
+  FHasSpecular := False;
+  FHasEmissive := False;
+  FHasTransparency := False;
+  FHasShininess := False;
+end;
+
+
+// ---------------
+// --------------- TVRMLTransform ---------------
+// ---------------
+
+constructor TVRMLTransform.Create;
+begin
+  inherited;
+  FScaleFactor.X := 1;
+  FScaleFactor.Y := 1;
+  FScaleFactor.Z := 1;
+end;
+
+
+// ---------------
+// --------------- TVRMLParser ---------------
+// ---------------
+
+constructor TVRMLParser.Create;
+begin
+  FDefines := TList.Create;
+  FRootNode := TVRMLNode.Create;
+  FRootNode.Name := 'Root';
+  FAllowUnknownNodes := False;
+end;
+
+destructor TVRMLParser.Destroy;
+begin
+  FDefines.Free;
+  FRootNode.Free;
+  inherited;
+end;
+
+function TVRMLParser.ReadToken: String;
+begin
+  if FCursor < FTokens.Count then
+  begin
+    Result := LowerCase(FTokens[FCursor]);
+    Inc(FCursor);
+  end
+  else
+    Result := '';
+end;
+
+procedure TVRMLParser.ReadUnknownArray(DefName: String);
+var
+  token: String;
+begin
+  if AllowUnknownNodes then
+  begin
+    FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+    FCurrentNode.Name := 'Unknown array';
+  end;
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = ']';
+  if AllowUnknownNodes then
+    FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadUnknownHeirachy(DefName: String);
+var
+  token: String;
+begin
+  if AllowUnknownNodes then
+  begin
+    FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+    FCurrentNode.Name := 'Unknown hierarchy';
+  end;
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else
+      ReadUnknown(token);
+  until token = '}';
+  if AllowUnknownNodes then
+    FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadUnknown(unknown_token: String; DefName: String);
+begin
+  if unknown_token = '{' then
+    ReadUnknownHeirachy
+  else if unknown_token = '[' then
+    ReadUnknownArray
+  else if (unknown_token <> '}') and (unknown_token <> ']') and AllowUnknownNodes
+  then
+  begin
+    TVRMLNode.CreateOwned(FCurrentNode).Name := 'UNKNOWN[' +
+      unknown_token + ']';
+  end;
+end;
+
+function TVRMLParser.ReadSingle: Single;
+begin
+  Result := GLStrToFloatDef(ReadToken, 0);
+end;
+
+function TVRMLParser.ReadVector3f: TVector3f;
+begin
+  Result.X := ReadSingle;
+  Result.Y := ReadSingle;
+  Result.Z := ReadSingle;
+end;
+
+function TVRMLParser.ReadVector4f: TVector4f;
+begin
+  Result.X := ReadSingle;
+  Result.Y := ReadSingle;
+  Result.Z := ReadSingle;
+  Result.W := ReadSingle;
+end;
+
+procedure TVRMLParser.ReadPointArray(DefName: String);
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLSingleArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'PointArray';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLSingleArray(FCurrentNode)
+        .Values.Add(GLStrToFloatDef(token, 0));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadCoordIndexArray(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLIntegerArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'CoordIndexArray';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLIntegerArray(FCurrentNode).Values.Add(StrToInt(token));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadNormalIndexArray(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLIntegerArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'NormalIndexArray';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLIntegerArray(FCurrentNode).Values.Add(StrToInt(token));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadTextureCoordIndexArray(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLIntegerArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'TextureCoordIndexArray';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLIntegerArray(FCurrentNode).Values.Add(StrToInt(token));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadMaterial(DefName: String);
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLMaterial.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Material';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  with TVRMLMaterial(FCurrentNode) do
+  begin
+    repeat
+      token := ReadToken;
+      if token = '' then
+        exit
+      else if token = 'diffusecolor' then
+      begin
+        DiffuseColor := ReadVector3f;
+        HasDiffuse := True;
+      end
+      else if token = 'ambientcolor' then
+      begin
+        AmbientColor := ReadVector3f;
+        HasAmbient := True;
+      end
+      else if token = 'specularcolor' then
+      begin
+        SpecularColor := ReadVector3f;
+        HasSpecular := True;
+      end
+      else if token = 'emissivecolor' then
+      begin
+        EmissiveColor := ReadVector3f;
+        HasEmissive := True;
+      end
+      else if token = 'transparency' then
+      begin
+        Transparency := ReadSingle;
+        HasTransparency := True;
+      end
+      else if token = 'shininess' then
+      begin
+        Shininess := ReadSingle;
+        HasShininess := True;
+      end
+      else if token <> '}' then
+        ReadUnknown(token);
+    until token = '}';
+  end;
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadCoordinate3(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Coordinate3';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'point' then
+      ReadPointArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadNormal(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Normal';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'vector' then
+      ReadPointArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadTextureCoordinate2(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'TextureCoordinate2';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'point' then
+      ReadPointArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadIndexedFaceSet(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'IndexedFaceSet';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'coordindex' then
+      ReadCoordIndexArray
+    else if token = 'normalindex' then
+      ReadNormalIndexArray
+    else if token = 'texturecoordindex' then
+      ReadTextureCoordIndexArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadTransform(DefName: String);
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLTransform.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Transform';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  with TVRMLTransform(FCurrentNode) do
+  begin
+    repeat
+      token := ReadToken;
+      if token = '' then
+        exit
+      else if token = 'rotation' then
+        Rotation := ReadVector4f
+      else if token = 'center' then
+        Center := ReadVector3f
+      else if token = 'scalefactor' then
+        ScaleFactor := ReadVector3f
+      else if token <> '}' then
+        ReadUnknown(token);
+    until token = '}';
+  end;
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadShapeHints(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLShapeHints.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'ShapeHints';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'creaseangle' then
+      TVRMLShapeHints(FCurrentNode).CreaseAngle := ReadSingle
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadSeparator(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Separator';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'def' then
+      ReadDef
+    else if (token = 'group') or (token = 'switch') then
+      ReadGroup
+    else if token = 'separator' then
+      ReadSeparator
+    else if token = 'use' then
+      ReadUse
+    else if token = 'shapehints' then
+      ReadShapeHints
+    else if token = 'transform' then
+      ReadTransform
+    else if token = 'material' then
+      ReadMaterial
+    else if token = 'coordinate3' then
+      ReadCoordinate3
+    else if token = 'normal' then
+      ReadNormal
+    else if token = 'texturecoordinate2' then
+      ReadTextureCoordinate2
+    else if token = 'indexedfaceset' then
+      ReadIndexedFaceSet
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadGroup(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Group';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'def' then
+      ReadDef
+    else if (token = 'group') or (token = 'switch') then
+      ReadGroup
+    else if token = 'separator' then
+      ReadSeparator
+    else if token = 'use' then
+      ReadUse
+    else if token = 'shapehints' then
+      ReadShapeHints
+    else if token = 'transform' then
+      ReadTransform
+    else if token = 'material' then
+      ReadMaterial
+    else if token = 'coordinate3' then
+      ReadCoordinate3
+    else if token = 'indexedfaceset' then
+      ReadIndexedFaceSet
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadDef;
+var
+  DefName, token: String;
+begin
+  DefName := ReadToken;
+  token := ReadToken;
+  if (token = 'group') or (token = 'switch') then
+    ReadGroup(DefName)
+  else if token = 'separator' then
+    ReadSeparator(DefName)
+  else if token = 'transform' then
+    ReadTransform(DefName)
+  else if token = 'material' then
+    ReadMaterial(DefName)
+  else if token = 'coordinate3' then
+    ReadCoordinate3(DefName)
+  else if token = 'indexedfaceset' then
+    ReadIndexedFaceSet(DefName)
+  else
+    ReadUnknown(token);
+end;
+
+procedure TVRMLParser.ReadUse;
+begin
+  with TVRMLUse.CreateOwned(FCurrentNode) do
+  begin
+    name := 'Use';
+    Value := ReadToken;
+  end;
+end;
+
+procedure TVRMLParser.Parse(Text: String);
+var
+  token: String;
+begin
+  FTokens := CreateVRMLTokenList(Text);
+  FCursor := 0;
+  FCurrentNode := FRootNode;
+  try
+    repeat
+      token := ReadToken;
+      if token = 'def' then
+        ReadDef
+      else if (token = 'group') or (token = 'switch') then
+        ReadGroup
+      else if token = 'separator' then
+        ReadSeparator
+      else if token = 'use' then
+        ReadUse
+      else if token = 'shapehints' then
+        ReadShapeHints
+      else if token = 'transform' then
+        ReadTransform
+      else if token = 'material' then
+        ReadMaterial
+      else if token = 'coordinate3' then
+        ReadCoordinate3
+      else if token = 'indexedfaceset' then
+        ReadIndexedFaceSet
+      else
+        ReadUnknown(token);
+    until FCursor >= FTokens.Count;
+  finally
+    FTokens.Free;
+  end;
+end;
+
+end.

+ 13 - 13
Sourcex/GXS.BSP.pas

@@ -139,7 +139,7 @@ type
       const maxTrianglesPerLeaf: Integer = MaxInt);
     (* Goes through all triangle edges, looking for tjunctions.
       The candidates are indices of points to lookup a tjunction vertices. *)
-    procedure FixTJunctions(const tJunctionsCandidates: TgIntegerList);
+    procedure FixTJunctions(const tJunctionsCandidates: TgxIntegerList);
     (* BSP node split plane.
       Divides space between positive and negative half-space, positive
       half-space being the one were the evaluation of an homogeneous
@@ -383,14 +383,14 @@ var
   i, j, n: Integer;
   nodeParents: array of Integer;
   remapIndex: array of Integer;
-  indicesToCheck: TgIntegerList;
+  indicesToCheck: TgxIntegerList;
   node: TFGBSPNode;
 begin
   n := faceGroups.Count;
   if n = 0 then
     Exit;
   SetLength(nodeParents, n);
-  indicesToCheck := TgIntegerList.Create;
+  indicesToCheck := TgxIntegerList.Create;
   try
     // build nodes parent information
     FillChar(nodeParents[0], SizeOf(Integer) * n, 255);
@@ -642,7 +642,7 @@ var
   ns, np, nn: Integer;
   evalPlane: THmgPlane;
   bestEval, eval: Single;
-  vertices: TgAffineVectorList;
+  vertices: TgxAffineVectorList;
 begin
   Result := NullHmgVector;
   bestEval := 1E30;
@@ -687,7 +687,7 @@ procedure TFGBSPNode.EvaluateSplitPlane(const splitPlane: THmgPlane;
 var
   i, n, inci, lookupIdx: Integer;
   a, b, c: Boolean;
-  vertices: TgAffineVectorList;
+  vertices: TgxAffineVectorList;
 const
   // case resolution lookup tables (node's tris unaccounted for)
   cTriangleSplit: array [0 .. 7] of Integer = (0, 1, 1, 1, 1, 1, 1, 0);
@@ -824,8 +824,8 @@ procedure TFGBSPNode.PerformSplit(const splitPlane: THmgPlane;
   const maxTrianglesPerLeaf: Integer = MaxInt);
 var
   fgPos, fgNeg: TFGBSPNode;
-  fgPosIndices, fgNegIndices: TgIntegerList;
-  indices: TgIntegerList;
+  fgPosIndices, fgNegIndices: TgxIntegerList;
+  indices: TgxIntegerList;
 
   procedure SplitTriangleMid(strayID, strayNext, strayPrev: Integer;
     eNext, ePrev: Single);
@@ -877,7 +877,7 @@ var
 var
   i, i1, i2, i3, se1, se2, se3: Integer;
   e1, e2, e3: Single;
-  vertices: TgAffineVectorList;
+  vertices: TgxAffineVectorList;
   subSplitPlane: THmgPlane;
 begin
   Assert((PositiveSubNodeIndex = 0) and (NegativeSubNodeIndex = 0));
@@ -891,7 +891,7 @@ begin
   fgNegIndices := fgNeg.VertexIndices;
   // initiate split
   Self.FSplitPlane := splitPlane;
-  indices := TgIntegerList.Create;
+  indices := TgxIntegerList.Create;
   vertices := Owner.Owner.vertices;
   i := 0;
   while i < VertexIndices.Count do
@@ -1032,10 +1032,10 @@ begin
   end;
 end;
 
-procedure TFGBSPNode.FixTJunctions(const tJunctionsCandidates: TgIntegerList);
+procedure TFGBSPNode.FixTJunctions(const tJunctionsCandidates: TgxIntegerList);
 
   function FindTJunction(iA, iB, iC: Integer;
-    candidatesList: TgIntegerList): Integer;
+    candidatesList: TgxIntegerList): Integer;
   var
     i, k: Integer;
     vertices: PAffineVectorArray;
@@ -1090,10 +1090,10 @@ procedure TFGBSPNode.FixTJunctions(const tJunctionsCandidates: TgIntegerList);
 var
   i, tj: Integer;
   indices: PIntegerArray;
-  mark: TgIntegerList;
+  mark: TgxIntegerList;
 begin
   Assert(Mode in [fgmmTriangles, fgmmFlatTriangles]);
-  mark := TgIntegerList.Create;
+  mark := TgxIntegerList.Create;
   mark.AddSerie(1, 0, VertexIndices.Count);
   indices := VertexIndices.List;
   i := 0;

+ 18 - 18
Sourcex/GXS.BumpMapping.pas

@@ -20,27 +20,27 @@ type
   TNormalMapSpace = (nmsObject, nmsTangent);
 
 procedure CalcObjectSpaceLightVectors(Light : TAffineVector;
-                                      Vertices: TgAffineVectorList;
-                                      Colors: TGVectorList);
+                                      Vertices: TgxAffineVectorList;
+                                      Colors: TgxVectorList);
 procedure SetupTangentSpace(Vertices, Normals, TexCoords,
-                            Tangents, BiNormals : TgAffineVectorList);
+                            Tangents, BiNormals : TgxAffineVectorList);
 procedure CalcTangentSpaceLightVectors(Light : TAffineVector;
                                        Vertices, Normals,
-                                       Tangents, BiNormals : TgAffineVectorList;
-                                       Colors: TGVectorList);
+                                       Tangents, BiNormals : TgxAffineVectorList;
+                                       Colors: TgxVectorList);
 function CreateObjectSpaceNormalMap(Width, Height : Integer;
-                                    HiNormals,HiTexCoords : TgAffineVectorList) : TBitmap;
+                                    HiNormals,HiTexCoords : TgxAffineVectorList) : TBitmap;
 function CreateTangentSpaceNormalMap(Width, Height : Integer;
                                      HiNormals, HiTexCoords,
                                      LoNormals, LoTexCoords,
-                                     Tangents, BiNormals : TgAffineVectorList) : TBitmap;
+                                     Tangents, BiNormals : TgxAffineVectorList) : TBitmap;
 
 //------------------------------------------------------------
 implementation
 //------------------------------------------------------------
 
 procedure CalcObjectSpaceLightVectors(Light: TAffineVector;
-  Vertices: TgAffineVectorList; Colors: TGVectorList);
+  Vertices: TgxAffineVectorList; Colors: TgxVectorList);
 var
   i: Integer;
   vec: TAffineVector;
@@ -53,7 +53,7 @@ begin
   end;
 end;
 
-procedure SetupTangentSpace(Vertices, Normals, TexCoords, Tangents, BiNormals: TgAffineVectorList);
+procedure SetupTangentSpace(Vertices, Normals, TexCoords, Tangents, BiNormals: TgxAffineVectorList);
 var
   i, j: Integer;
   v, n, t: TAffineMatrix;
@@ -146,8 +146,8 @@ begin
 end;
 
 procedure CalcTangentSpaceLightVectors(Light: TAffineVector;
-  Vertices, Normals, Tangents, BiNormals: TgAffineVectorList;
-  Colors: TGVectorList);
+  Vertices, Normals, Tangents, BiNormals: TgxAffineVectorList;
+  Colors: TgxVectorList);
 var
   i: Integer;
   mat: TAffineMatrix;
@@ -291,7 +291,7 @@ begin
 end;
 
 procedure CalcObjectSpaceNormalMap(Width, Height: Integer; 
-  NormalMap, Normals, TexCoords: TgAffineVectorList);
+  NormalMap, Normals, TexCoords: TgxAffineVectorList);
 var
   i, X, Y, xs, xe, x1, y1, x2, y2, x3, y3: Integer;
   n, n1, n2, n3: TAffineVector;
@@ -377,12 +377,12 @@ begin
 end;
 
 function CreateObjectSpaceNormalMap(Width, Height: Integer;
-  HiNormals, HiTexCoords: TgAffineVectorList): TBitmap;
+  HiNormals, HiTexCoords: TgxAffineVectorList): TBitmap;
 var
   i: Integer;
-  NormalMap: TgAffineVectorList;
+  NormalMap: TgxAffineVectorList;
 begin
-  NormalMap := TgAffineVectorList.Create;
+  NormalMap := TgxAffineVectorList.Create;
   NormalMap.AddNulls(Width * Height);
 
   CalcObjectSpaceNormalMap(Width, Height, NormalMap, HiNormals, HiTexCoords);
@@ -406,7 +406,7 @@ end;
 
 function CreateTangentSpaceNormalMap(Width, Height: Integer;
   HiNormals, HiTexCoords, LoNormals, LoTexCoords, Tangents,
-  BiNormals: TgAffineVectorList): TBitmap;
+  BiNormals: TgxAffineVectorList): TBitmap;
 
   function NormalToTangentSpace(normal: TAffineVector;
     X, Y, x1, y1, x2, y2, x3, y3: Integer; m1, m2, m3: TAffineMatrix)
@@ -423,11 +423,11 @@ function CreateTangentSpaceNormalMap(Width, Height: Integer;
 
 var
   i, X, Y, xs, xe, x1, y1, x2, y2, x3, y3: Integer;
-  NormalMap: TgAffineVectorList;
+  NormalMap: TgxAffineVectorList;
   n: TAffineVector;
   m, m1, m2, m3: TAffineMatrix;
 begin
-  NormalMap := TgAffineVectorList.Create;
+  NormalMap := TgxAffineVectorList.Create;
   NormalMap.AddNulls(Width * Height);
 
   CalcObjectSpaceNormalMap(Width, Height, NormalMap, HiNormals, HiTexCoords);

+ 4 - 4
Sourcex/GXS.CgShader.pas

@@ -185,8 +185,8 @@ type
     procedure EnableTexture;
     procedure DisableTexture;
     // Procedures for setting varying parameters with an array of values.
-    procedure SetParameterPointer(Values: TGVectorList); overload;
-    procedure SetParameterPointer(Values: TgAffineVectorList); overload;
+    procedure SetParameterPointer(Values: TgxVectorList); overload;
+    procedure SetParameterPointer(Values: TgxAffineVectorList); overload;
     procedure EnableClientState;
     procedure DisableClientState;
     // LongName retruns ShaderName.[program type].ProgramName.ParamName.
@@ -941,13 +941,13 @@ begin
   cgGLEnableClientState(FHandle);
 end;
 
-procedure TCGxParameter.SetParameterPointer(Values: TgAffineVectorList);
+procedure TCGxParameter.SetParameterPointer(Values: TgxAffineVectorList);
 begin
   Assert(FVariability = CG_VARYING);
   cgGLSetParameterPointer(FHandle, 3, GL_FLOAT, 0, Values.List);
 end;
 
-procedure TCGxParameter.SetParameterPointer(Values: TGVectorList);
+procedure TCGxParameter.SetParameterPointer(Values: TgxVectorList);
 begin
   Assert(FVariability = CG_VARYING);
   cgGLSetParameterPointer(FHandle, 4, GL_FLOAT, 0, Values.List);

+ 2 - 2
Sourcex/GXS.Collision.pas

@@ -504,7 +504,7 @@ end;
   Octree.GetTrianglesInCube returns no points, why? }
 function FastCheckCubeVsFace(obj1, obj2: TgxBaseSceneObject): Boolean;
 // var
-// triList : TgAffineVectorList;
+// triList : TgxAffineVectorList;
 // m1to2, m2to1 : TMatrix4f;
 // i:integer;
 begin
@@ -540,7 +540,7 @@ type
 
 var
   i: Integer;
-  triList: TgAffineVectorList;
+  triList: TgxAffineVectorList;
   tri: PTriangle;
   m1to2, m2to1: TMatrix4f;
   AABB2: TAABB;

+ 293 - 0
Sourcex/GXS.CurvesAndSurfaces.pas

@@ -0,0 +1,293 @@
+//
+// The graphics engine GLScene https://github.com/glscene
+//
+unit GXS.CurvesAndSurfaces;
+
+(* Bezier and B-Spline Curve and Surface Routines *)
+
+interface
+
+uses
+  System.SysUtils,
+  GLScene.VectorTypes,
+  GLScene.VectorGeometry,
+  GXS.VectorLists;
+
+type
+  TBSplineContinuity = (bscUniformNonPeriodic, bscUniformPeriodic);
+
+function BezierCurvePoint(t: single; n: integer; cp: PAffineVectorArray): TAffineVector;
+function BezierSurfacePoint(s, t: single; m, n: integer; cp: PAffineVectorArray): TAffineVector;
+procedure GenerateBezierCurve(Steps: integer;  ControlPoints, Vertices: TgxAffineVectorList);
+procedure GenerateBezierSurface(Steps, Width, Height: integer; ControlPoints, Vertices: TgxAffineVectorList);
+
+function BSplinePoint(t: single; n, k: integer; knots: PSingleArray;
+  cp: PAffineVectorArray): TAffineVector;
+function BSplineSurfacePoint(s, t: single; m, n, k1, k2: integer;
+  uknots, vknots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
+procedure GenerateBSpline(Steps, Order: integer; KnotVector: TgxSingleList;
+  ControlPoints, Vertices: TgxAffineVectorList);
+procedure GenerateBSplineSurface(Steps, UOrder, VOrder, Width, Height: integer;
+  UKnotVector, VKnotVector: TgxSingleList;
+  ControlPoints, Vertices: TgxAffineVectorList);
+procedure GenerateKnotVector(KnotVector: TgxSingleList;
+  NumberOfPoints, Order: integer; Continuity: TBSplineContinuity);
+
+implementation // -----------------------------------------------------------
+
+function Factorial(n: integer): single;
+var
+  i: integer;
+begin
+  if (n < 0) or (n > 32) then
+    Exception.Create('Invalid factorial parameter: n = ' + IntToStr(n));
+
+  Result := 1;
+  for i := 2 to n do
+    Result := Result * i;
+end;
+
+// ------------------------------------------------------------
+// Bezier routines
+// ------------------------------------------------------------
+
+function BernsteinBasis(n, i: integer; t: single): single;
+var
+  ti, tni: single;
+begin
+  if (t = 0) and (i = 0) then
+    ti := 1
+  else
+    ti := PowerInteger(t, i);
+  if (n = i) and (t = 1) then
+    tni := 1
+  else
+    tni := PowerInteger(1 - t, integer(n - i));
+  Result := (Factorial(n) / (Factorial(i) * Factorial(n - i))) * ti * tni;
+end;
+
+function BezierCurvePoint(t: single; n: integer; cp: PAffineVectorArray)
+  : TAffineVector;
+var
+  i: integer;
+  b: single;
+begin
+  Result := NullVector;
+  for i := 0 to n - 1 do
+  begin
+    b := BernsteinBasis(n - 1, i, t);
+    Result.X := Result.X + cp[i].X * b;
+    Result.Y := Result.Y + cp[i].Y * b;
+    Result.Z := Result.Z + cp[i].Z * b;
+  end;
+end;
+
+function BezierSurfacePoint(s, t: single; m, n: integer; cp: PAffineVectorArray)
+  : TAffineVector;
+var
+  i, j: integer;
+  b1, b2: single;
+begin
+  Result := NullVector;
+  for j := 0 to n - 1 do
+    for i := 0 to m - 1 do
+    begin
+      b1 := BernsteinBasis(m - 1, i, s);
+      b2 := BernsteinBasis(n - 1, j, t);
+      Result.X := Result.X + cp[j * m + i].X * b1 * b2;
+      Result.Y := Result.Y + cp[j * m + i].Y * b1 * b2;
+      Result.Z := Result.Z + cp[j * m + i].Z * b1 * b2;
+    end;
+end;
+
+procedure GenerateBezierCurve(Steps: integer;
+  ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i: integer;
+begin
+  Vertices.Count := Steps;
+  for i := 0 to Steps - 1 do
+    Vertices[i] := BezierCurvePoint(i / (Steps - 1), ControlPoints.Count,
+      ControlPoints.List);
+end;
+
+procedure GenerateBezierSurface(Steps, Width, Height: integer;
+  ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i, j: integer;
+begin
+  Vertices.Count := Steps * Steps;
+  for j := 0 to Steps - 1 do
+    for i := 0 to Steps - 1 do
+      Vertices[i + j * Steps] := BezierSurfacePoint(i / (Steps - 1),
+        j / (Steps - 1), Width, Height, ControlPoints.List);
+end;
+
+// ------------------------------------------------------------
+// B-Spline routines
+// ------------------------------------------------------------
+
+function BSplineBasis(i, k, n: integer; u: single; knots: PSingleArray): single;
+var
+  v1, v2: single;
+begin
+  if (u < knots[i]) or (u > knots[i + k]) then
+  begin
+    Result := 0;
+  end
+  else if k = 1 then
+  begin
+    Result := 0;
+    if (u >= knots[i]) and (u < knots[i + 1]) then
+      Result := 1;
+  end
+  else if (i = n - 1) and (u = knots[i + k]) then
+  begin
+    Result := 1;
+  end
+  else
+  begin
+    v1 := (knots[i + k - 1] - knots[i]);
+    v2 := (knots[i + k] - knots[i + 1]);
+    if v1 <> 0 then
+      v1 := (u - knots[i]) / v1 * BSplineBasis(i, k - 1, n, u, knots);
+    if v2 <> 0 then
+      v2 := (knots[i + k] - u) / v2 * BSplineBasis(i + 1, k - 1, n, u, knots);
+    Result := v1 + v2;
+  end;
+end;
+
+function BSplinePoint(t: single; n, k: integer; knots: PSingleArray;
+  cp: PAffineVectorArray): TAffineVector;
+var
+  i: integer;
+  b: array of single;
+  det: single;
+begin
+  SetLength(b, n);
+  for i := 0 to n - 1 do
+    b[i] := BSplineBasis(i, k, n, t, knots);
+  det := 0;
+  for i := 0 to n - 1 do
+    det := det + b[i];
+  Result := NullVector;
+  for i := 0 to n - 1 do
+  begin
+    if det <> 0 then
+      b[i] := b[i] / det
+    else
+      b[i] := 0;
+    Result.X := Result.X + cp[i].X * b[i];
+    Result.Y := Result.Y + cp[i].Y * b[i];
+    Result.Z := Result.Z + cp[i].Z * b[i];
+  end;
+  SetLength(b, 0);
+end;
+
+function BSplineSurfacePoint(s, t: single; m, n, k1, k2: integer;
+  uknots, vknots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
+var
+  i, j: integer;
+  b1, b2: array of single;
+  det1, det2: single;
+begin
+  SetLength(b1, m);
+  SetLength(b2, n);
+  det1 := 0;
+  det2 := 0;
+  for i := 0 to m - 1 do
+    b1[i] := BSplineBasis(i, k1, m, s, uknots);
+  for i := 0 to n - 1 do
+    b2[i] := BSplineBasis(i, k2, n, t, vknots);
+  for i := 0 to m - 1 do
+    det1 := det1 + b1[i];
+  for i := 0 to n - 1 do
+    det2 := det2 + b2[i];
+  Result := NullVector;
+  for j := 0 to n - 1 do
+  begin
+    if det2 <> 0 then
+      b2[j] := b2[j] / det2
+    else
+      b2[j] := 0;
+    for i := 0 to m - 1 do
+    begin
+      if det1 <> 0 then
+        b1[i] := b1[i] / det1
+      else
+        b1[i] := 0;
+      Result.X := Result.X + cp[j * m + i].X * b1[i] * b2[j];
+      Result.Y := Result.Y + cp[j * m + i].Y * b1[i] * b2[j];
+      Result.Z := Result.Z + cp[j * m + i].Z * b1[i] * b2[j];
+    end;
+  end;
+end;
+
+procedure GenerateBSpline(Steps, Order: integer; KnotVector: TgxSingleList;
+  ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i: integer;
+begin
+  Vertices.Clear;
+  Vertices.Count := Steps;
+  for i := 0 to Steps - 1 do
+    Vertices[i] := BSplinePoint(i / (Steps - 1), ControlPoints.Count, Order + 1,
+      @KnotVector.List[0], ControlPoints.List);
+end;
+
+procedure GenerateBSplineSurface(Steps, UOrder, VOrder, Width, Height: integer;
+  UKnotVector, VKnotVector: TgxSingleList; ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i, j: integer;
+begin
+  Vertices.Clear;
+  Vertices.Count := Steps * Steps;
+  for j := 0 to Steps - 1 do
+    for i := 0 to Steps - 1 do
+      Vertices[i + j * Steps] := BSplineSurfacePoint(i / (Steps - 1),
+        j / (Steps - 1), Width, Height, UOrder + 1, VOrder + 1,
+        @UKnotVector.List[0], @VKnotVector.List[0], ControlPoints.List);
+end;
+
+procedure GenerateKnotVector(KnotVector: TgxSingleList;
+  NumberOfPoints, Order: integer; Continuity: TBSplineContinuity);
+var
+  i, n, k: integer;
+begin
+  KnotVector.Clear;
+
+  k := Order + 1;
+  n := NumberOfPoints - 1;
+
+  case Continuity of
+
+    // Open curve
+    bscUniformNonPeriodic:
+      begin
+        for i := 0 to n + k do
+        begin
+          if i < k then
+            KnotVector.Add(0)
+          else if i > n then
+            KnotVector.Add(n - k + 2)
+          else
+            KnotVector.Add(i - k + 1);
+        end;
+      end;
+
+    // Closed curve
+    bscUniformPeriodic:
+      begin
+        for i := 0 to n + k do
+        begin
+          KnotVector.Add(i);
+        end;
+        KnotVector.Scale(1 / KnotVector.Sum);
+      end;
+
+  end;
+end;
+
+//----------------------------------------------------------------------------
+
+end.

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません