浏览代码

Added AdvDemos.htm

glscene 1 年之前
父节点
当前提交
5c11cc2f82
共有 73 个文件被更改,包括 2132 次插入407 次删除
  1. 0 0
      Assets/Icon/Arena.ico
  2. 二进制
      Assets/Icon/Earth.ico
  3. 二进制
      Assets/Icon/Pyramid.ico
  4. 218 0
      Examples/AdvDemos.htm
  5. 二进制
      Examples/AdvDemos/ActorMS3D/Actorms3d.jpg
  6. 8 12
      Examples/AdvDemos/ActorMS3D/Actorms3dD.dpr
  7. 二进制
      Examples/AdvDemos/Archipelago/Archipelago.jpg
  8. 7 5
      Examples/AdvDemos/Archipelago/ArchipelagoC.cbproj
  9. 7 8
      Examples/AdvDemos/Archipelago/ArchipelagoD.dpr
  10. 7 5
      Examples/AdvDemos/Archipelago/ArchipelagoD.dproj
  11. 2 8
      Examples/AdvDemos/Archipelago/Readme.txt
  12. 二进制
      Examples/AdvDemos/Christmas/Christmas.jpg
  13. 3 10
      Examples/AdvDemos/Christmas/ChristmasD.dpr
  14. 6 6
      Examples/AdvDemos/Christmas/fChrismasC.cpp
  15. 16 7
      Examples/AdvDemos/Christmas/fChrismasC.dfm
  16. 1 3
      Examples/AdvDemos/Christmas/fChrismasD.pas
  17. 二进制
      Examples/AdvDemos/Earth/Earth.jpg
  18. 3 3
      Examples/AdvDemos/Earth/Readme.txt
  19. 二进制
      Examples/AdvDemos/Forest/Forest.jpg
  20. 1212 0
      Examples/AdvDemos/Forest/ForestC.cbproj
  21. 35 0
      Examples/AdvDemos/Forest/ForestC.cpp
  22. 16 0
      Examples/AdvDemos/Forest/fForestC.cpp
  23. 20 0
      Examples/AdvDemos/Forest/fForestC.dfm
  24. 21 0
      Examples/AdvDemos/Forest/fForestC.h
  25. 16 9
      Examples/AdvDemos/Forest/fForestD.dfm
  26. 2 2
      Examples/AdvDemos/GLSViewer/GLSViewerD.dpr
  27. 12 3
      Examples/AdvDemos/GLSViewer/GLSViewerD.dproj
  28. 40 48
      Examples/AdvDemos/GLSViewer/Source/fGLAbout.dfm
  29. 0 1
      Examples/AdvDemos/GLSViewer/Source/fGLAbout.pas
  30. 2 4
      Examples/AdvDemos/GLSViewer/Source/fGLDialog.dfm
  31. 4 4
      Examples/AdvDemos/GLSViewer/Source/fGLForm.dfm
  32. 28 7
      Examples/AdvDemos/GLSViewer/Source/fGLOptions.dfm
  33. 4 4
      Examples/AdvDemos/GLSViewer/Source/fGLOptions.pas
  34. 3 5
      Examples/AdvDemos/GLSViewer/readme.txt
  35. 二进制
      Examples/AdvDemos/IntensityMesh/IntensityMesh.jpg
  36. 2 2
      Examples/AdvDemos/IntensityMesh/IntensityMeshD.dpr
  37. 1 1
      Examples/AdvDemos/IntensityMesh/IntensityMeshD.dproj
  38. 59 31
      Examples/AdvDemos/IntensityMesh/fIntensityMeshD.dfm
  39. 10 10
      Examples/AdvDemos/IntensityMesh/fIntensityMeshD.pas
  40. 二进制
      Examples/AdvDemos/PanoramViewer/PanoViewer.jpg
  41. 6 8
      Examples/AdvDemos/PanoramViewer/PanoViewerD.dpr
  42. 2 3
      Examples/Demos.htm
  43. 78 37
      Examples/Demos/behaviours/Torque/fTorqueC.dfm
  44. 1 1
      Examples/Demos/bench/pcBench.cbproj
  45. 1 1
      Examples/Demos/cgshaders/pdCGshaders.dproj
  46. 97 51
      Examples/Demos/collisions/TriangleBox/fTriangleBoxD.dfm
  47. 18 18
      Examples/Demos/collisions/TriangleBox/fTriangleBoxD.pas
  48. 3 2
      Examples/Demos/extrusion/fdExtrusion.dfm
  49. 3 3
      Examples/Demos/extrusion/pcExtrusion.cbproj
  50. 27 11
      Examples/Demos/glslshaders/fdGLSLshaders.dfm
  51. 11 2
      Examples/Demos/glslshaders/fdGLSLshaders.pas
  52. 1 1
      Examples/Demos/glslshaders/pdGLSLshaders.dproj
  53. 6 6
      Examples/Demos/graph/fcGraph.dfm
  54. 10 6
      Examples/Demos/graph/fdGraph.dfm
  55. 1 1
      Examples/Demos/graph/pcGraph.cbproj
  56. 3 3
      Examples/Demos/graph/pcGraph.cpp
  57. 26 11
      Examples/Demos/interface/fdInterface.dfm
  58. 1 1
      Examples/Demos/interface/pdInterface.dproj
  59. 14 14
      Examples/Demos/materials/fdMaterials.dfm
  60. 1 1
      Examples/Demos/materials/pdMaterials.dproj
  61. 1 1
      Examples/Demos/meshes/pdMeshes.dproj
  62. 1 1
      Examples/Demos/movements/pdMovements.dproj
  63. 1 1
      Examples/Demos/physics/pdPhysics.dproj
  64. 1 1
      Examples/Demos/rendering/pdRendering.dproj
  65. 1 1
      Examples/Demos/sound/pdSound.dproj
  66. 29 11
      Examples/Demos/specialsFX/fdSpecialsFX.dfm
  67. 11 2
      Examples/Demos/specialsFX/fdSpecialsFX.pas
  68. 1 1
      Examples/Demos/specialsFX/pdSpecialsFX.dproj
  69. 1 1
      Examples/Demos/sprites/pdSprites.dproj
  70. 1 1
      Examples/Demos/utilities/pdUtilities.dproj
  71. 3 1
      README.md
  72. 1 0
      Source/GLS.Graph.pas
  73. 5 6
      Source/GLS.Material.pas

+ 0 - 0
Examples/AdvDemos/Archipelago/Archipelago.ico → Assets/Icon/Arena.ico


二进制
Assets/Icon/Earth.ico


二进制
Assets/Icon/Pyramid.ico


+ 218 - 0
Examples/AdvDemos.htm

@@ -0,0 +1,218 @@
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
+<title>GLScene AdvDemos :</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:"Cambria Math";
+	panose-1:2 4 5 3 5 4 6 3 2 4;}
+@font-face
+	{font-family:Consolas;
+	panose-1:2 11 6 9 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman",serif;}
+a:link, span.MsoHyperlink
+	{color:blue;
+	text-decoration:underline;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:purple;
+	text-decoration:underline;}
+p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
+	{mso-style-link:"\0422\0435\043A\0441\0442 \0417\043D\0430\043A";
+	margin-right:0cm;
+	margin-left:0cm;
+	font-size:12.0pt;
+	font-family:"Times New Roman",serif;}
+p.msonormal0, li.msonormal0, div.msonormal0
+	{mso-style-name:msonormal;
+	margin-right:0cm;
+	margin-left:0cm;
+	font-size:12.0pt;
+	font-family:"Times New Roman",serif;}
+span.a
+	{mso-style-name:"\0422\0435\043A\0441\0442 \0417\043D\0430\043A";
+	mso-style-link:\0422\0435\043A\0441\0442;
+	font-family:Consolas;}
+p.msochpdefault, li.msochpdefault, div.msochpdefault
+	{mso-style-name:msochpdefault;
+	margin-right:0cm;
+	margin-left:0cm;
+	font-size:10.0pt;
+	font-family:"Times New Roman",serif;}
+.MsoChpDefault
+	{font-size:10.0pt;}
+@page WordSection1
+	{size:595.3pt 841.9pt;
+	margin:2.0cm 42.5pt 2.0cm 3.0cm;}
+div.WordSection1
+	{page:WordSection1;}
+ /* List Definitions */
+ ol
+	{margin-bottom:0cm;}
+ul
+	{margin-bottom:0cm;}
+-->
+</style>
+
+</head>
+
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<div align=center>
+
+<table class=MsoNormalTable border=0 cellspacing=3 cellpadding=0 width="100%"
+ style='width:100.0%'>
+ <tr>
+  <td width="15%" style='width:15.0%;padding:.75pt .75pt .75pt .75pt'></td>
+  <td width="70%" style='width:70.0%;padding:.75pt .75pt .75pt .75pt'>
+  <p class=MsoNormal align=center style='text-align:center'><strong><span
+  lang=EN-US style='font-size:36.0pt;font-family:"Arial",sans-serif;color:#FF8000'>GLScene</span></strong><b><span
+  lang=EN-US style='font-family:"Arial",sans-serif;color:#FF8000'><br>
+  <strong><span style='font-family:"Arial",sans-serif'>OpenGL Solution for
+  Delphi &amp; C++Builder</span></strong></span></b></p>
+  <p class=MsoNormal align=center style='text-align:center'><span lang=EN-US
+  style='font-size:7.5pt;font-family:"Arial",sans-serif'>&nbsp;</span></p>
+  <p class=MsoNormal align=center style='text-align:center'><span
+  style='font-size:7.5pt;font-family:"Arial",sans-serif'>website: </span><a
+  href="http://glscene.org"><span style='font-size:7.5pt;font-family:"Arial",sans-serif'>http://glscene.org</span></a></p>
+  </td>
+  <td width="15%" style='width:15.0%;padding:.75pt .75pt .75pt .75pt'>
+  <p class=MsoNormal align=right style='text-align:right'>&nbsp;</p>
+  </td>
+ </tr>
+</table>
+
+</div>
+
+<div class=MsoNormal align=center style='text-align:center'><span lang=FR>
+
+<hr size=1 width="100%" noshade style='color:#FF8000' align=center>
+
+</span></div>
+
+<p class=MsoPlainText align=center style='text-align:center'><b><span lang=FR
+style='font-size:18.0pt;font-family:"Courier New";color:#FF8000'>GLScene AdvDemos</span></b></p>
+
+
+<p class=MsoNormal><span lang=FR style='font-size:10.0pt'>Advanced demos of GLScene 
+are advanced more complex applications. They are all heavily commented and tips 
+and tricks are dispensed on the fly. </span></b></p>
+<p class=MsoNormal><span lang=FR style='font-size:10.0pt'>
+Samples have been designed to run as smoothly 
+as possible with software using OpenGL.</span></p>
+<p class=MsoNormal><span lang=FR style='font-size:10.0pt'>All these samples are distributed 
+as free software, which basically means you can use them freely for free software.</span></p>
+<p class=MsoNormal><span lang=FR style='font-size:10.0pt'> 
+GLScene demos should always be distributed as a whole, in their original package.</span></p>
+<p></p>
+
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/ActorMS3D/ActorMS3dD.dpr"><b>ActorMS 3D</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>how easy to use milkshape animations</span></li>
+  <li class=MsoNormal><span lang=FR>animations also make use of MS3D's weighted vertexes needed to be more realistic</span></li>
+  <li class=MsoNormal><span lang=FR>model was made with MS3D, UVMapping and texturing with Paintshop</span></li>
+ </ul>
+</ul>
+
+<p class=MsoPlainText><b><span style='font-size:13.5pt;font-family:"Courier New"'><img
+border=0 width=455 height=301 src=AdvDemos/ActorMS3D/ActorMS3d.jpg></span></b></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/Archipelago/ArchipelagoD.dpr"><b>Archipelago</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>illustrates TerrainRenderer with a material library</span></li>
+  <li class=MsoNormal><span lang=FR>used HeightTileFileHDS as primary elevation datasource</span></li> 
+  <li class=MsoNormal><span lang=FR>and CustomHDS to attach texturing information to the elevation samples</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=446 height=363 src=AdvDemos/Archipelago/Archipelago.jpg></p>
+<p></p>
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/Christmas/ChristmasD.dpr"><b>Christmas</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>made up from meshes, objects, lens-flares and particle effects</span></li>
+  <li class=MsoNormal><span lang=FR>audio engine BASS is used for the sound part</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=472 height=368 src=AdvDemos/Christmas/Christmas.jpg></p>
+<p></p>
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/Earth/EarthD.dpr"><b>Earth</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>texture maps have different resolutions</span></li>
+  <li class=MsoNormal><span lang=FR>atmospheric effect is rendered in GLDirectOpenGL1Render</span></li>
+  <li class=MsoNormal><span lang=FR>stars are built into the TGLSkyDome, constellations are rendered via a TGLLines</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=432 height=325 src=AdvDemos/Earth/Earth.jpg></p>
+<p></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/Forest/ForestD.dpr"><b>Forest</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>the forest on islands in the sea</span></li>
+  <li class=MsoNormal><span lang=FR>water planes created using TGLDirectOpenGL object</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=432 height=325 src=AdvDemos/Forest/Forest.jpg></p>
+<p></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/GLSViewer/GLSViewerD.dpr"><b>GLSViewer</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>viewer of models with textures</span></li>
+  <li class=MsoNormal><span lang=FR>used treeview with TImageList and TImageCollection</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=464 height=361 src=AdvDemos/GLSViewer/GLSViewer.jpg></p>
+<p></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/IntensityMesh/IntensityMeshD.dpr"><b>IntensityMesh</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>interactive representation of Finite Element Analysis</span></li>
+  <li class=MsoNormal><span lang=FR>data usually is used to predict steel yielding</span></li>
+  <li class=MsoNormal><span lang=FR>multipass shader to overlay the model's wireframe using smoothed lines</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=387 height=287 src=AdvDemos/IntensityMesh/IntensityMesh.jpg></p>
+<p></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="AdvDemos/PanoramViewer/PanoViewerD.dpr"><b>PanoramViewer</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>Simple spherical panorama viewer</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=387 height=287 src=AdvDemos/PanoramViewer/PanoViewer.jpg></p>
+<p></p>
+
+</div>
+
+</body>
+
+</html>

二进制
Examples/AdvDemos/ActorMS3D/Actorms3d.jpg


+ 8 - 12
Examples/AdvDemos/ActorMS3D/Actorms3dD.dpr

@@ -1,27 +1,23 @@
-{: This demo shows how easy it is to use milkshape animations in GLScene. The
+(* 
+    This demo shows how easy it is to use milkshape animations in GLScene. The
     animations are courtesy of Carnegie-Mellon's motion capture project. 
 
     Animations also make use of MS3D's weighted vertexes. This was really needed as
     it makes animations much more realistic, as you will see.
-
+	
     The demo also shows the use of double sided textures (her hair), specular lighting,
     and transparency. To make a texture doublesided, just give it a tiny bit of transparency
     in Milkshape. This will cause the loader to turn off backface culling for any group that
-    uses that material. 
-
-    I have also utilized one of Yar's shader demos modified a little so the spotlight
-    will always follow the actor during the animation sequence.
-
+    uses that material. Оne of shader demos was modified by TL a little so the spotlight 
+	will always follow the actor during the animation sequence.
+	
     Model was made with MS3D, UVMapping and texturing were done with Paintshop and UVMapper Pro
-
     Note on the animations: There is a flaw in the MakeSkeletalTranslationStatic routine if you
     want to stop all root node translations. I'll be adding an overloaded method in the real soon.
     For now,  if you do not want root node transformations (i.e. you want her to stay in one spot)
     uncomment the line: //pos:=ms3d_joints^[i].Base.Position.V; where the animations are loaded
-    in GLFileMS3D.
-
-    TL
-}
+    in GLS.FileMS3D. 
+*)
 
 program Actorms3dD;
 

二进制
Examples/AdvDemos/Archipelago/Archipelago.jpg


+ 7 - 5
Examples/AdvDemos/Archipelago/ArchipelagoC.cbproj

@@ -119,13 +119,15 @@
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
         <FinalOutputDir>.</FinalOutputDir>
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <ILINK_LibraryPath>$(BDSCOMMONDIR)\Dcp;$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
         <Defines>_DEBUG;$(Defines)</Defines>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <LinkPackageImports>rtl.bpi;vcl.bpi;fmx.bpi;xmlrtl.bpi;vclimg.bpi;GLScene_RT.bpi</LinkPackageImports>
         <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
+        <Icon_MainIcon>..\..\..\Assets\Icon\Arena.ico</Icon_MainIcon>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
         <VerInfo_Locale>1033</VerInfo_Locale>
@@ -216,10 +218,10 @@
                     <VersionInfoKeys Name="CFBundleExecutable"/>
                 </VersionInfoKeys>
                 <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k240.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp240.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k240.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp240.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k290.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp290.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k290.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                 </Excluded_Packages>
                 <ProjectProperties>
                     <ProjectProperties Name="AutoShowDeps">False</ProjectProperties>

+ 7 - 8
Examples/AdvDemos/Archipelago/ArchipelagoD.dpr

@@ -1,6 +1,7 @@
-{: Archipelago GLScene demo.
+(* 
+   Archipelago GLScene advdemo.
 
-   This demo illustrates several GLScene components:
+   This advdemo illustrates several GLScene components:
    - TerrainRenderer, used with a material library
    - TerrainRenderer's OnHeightDataPostRender, used to render sea surface
    - HeightTileFileHDS, used as primary elevation datasource
@@ -10,15 +11,13 @@
    Note that both custom OpenGL rendering sections are interrelated, the sea
    surface rendering code also setups the stencil buffer, which is used by
    the wake rendering code.
-
+   Eric Grange
+   
    Credits:
    - Terrain elevation map and textures : Mattias Fagerlund
-     (http://www.cambrianlabs.com/Mattias/)
-   - Sailboat model and textures : Daniel Polli / [email protected]
-     (http://virtualsailor.dansteph.com)
+   - Sailboat model and textures : Daniel Polli 
+*)
 
-   Eric Grange (http://glscene.org)
-}
 program ArchipelagoD;
 
 uses

+ 7 - 5
Examples/AdvDemos/Archipelago/ArchipelagoD.dproj

@@ -113,8 +113,10 @@
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
         <BT_BuildType>Debug</BT_BuildType>
         <VerInfo_Locale>1033</VerInfo_Locale>
-        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)</VerInfo_Keys>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <Icon_MainIcon>..\..\..\Assets\Icon\Arena.ico</Icon_MainIcon>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
         <BT_BuildType>Debug</BT_BuildType>
@@ -153,10 +155,10 @@
                     <Source Name="MainSource">ArchipelagoD.dpr</Source>
                 </Source>
                 <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k240.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp240.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k240.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp240.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k290.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp290.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k290.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                 </Excluded_Packages>
             </Delphi.Personality>
             <Platforms>

+ 2 - 8
Examples/AdvDemos/Archipelago/Readme.txt

@@ -1,5 +1,4 @@
-Archipelago demo v2.3 
-https://github.com/glscene/GLScene/tree/master/Examples/AdvDemos/Archipelago
+Archipelago demo 
 
 >>>>>> BEFORE starting the demo: <<<<<<
 
@@ -33,10 +32,6 @@ Movements and camera orientation are controled by arrow keys and
 the mouse respectively, camera altitude is controled with 
 pageup/pagedown. Exit with the ESC key.
 
-Approximative framerates at startup camera angle & position:
-- Athlon XP 1800+ / GF4 Ti 4200: >210 FPS
-- Athlon XP 1800+ / GF2 Pro: >140 FPS
-
 Credits and kindly contributed resources by:
 
 - Terrain elevation map and textures : Mattias Fagerlund
@@ -60,5 +55,4 @@ Changes to v1.01:
 - added warning for graphics boards memory requirements
 - splitter.exe includes basic (low quality) resampling support
 
-Eric Grange 
-http://glscene.org
+GLS Team

二进制
Examples/AdvDemos/Christmas/Christmas.jpg


+ 3 - 10
Examples/AdvDemos/Christmas/ChristmasD.dpr

@@ -1,21 +1,14 @@
 (* GLScene Christmas "ScreenSaver".
 
-   Won't save your screen from anything though ;)
-   If placed in Windows\System32 directory you need also to copy data there
-
    The scene is made up from a few meshes, some GLScene objects, several
    lens-flares and particle effects components, and a 2 text. BASS is used
-   for the sound part (3D positionned fire loop, and mp3 playback).
-   Wrapped gifts appear around christmas every year.
-
-   Assembled from bits from the web, should be royalty free, but I don't have
-   the means to check... so if you have clues about any of them:
+   for the sound part (3D positioned fire loop, and mp3 playback).
+   Wrapped gifts appear around Christmas every year.
 
    Models: from 3DCafe.com
    Textures: various origins, some from 3dtextures.fr.st, others made by Eric Grange
    Music: unknown origin, was in a "royalty free" download package
-
-   https://github.com/GLScene *)
+*)
 
 program ChristmasD;
 

+ 6 - 6
Examples/AdvDemos/Christmas/fChrismasC.cpp

@@ -87,7 +87,7 @@ void __fastcall TForm1::TimerTimer(TObject* Sender)
 
 	// if (miMerryCristmas->Checked)
 	TheChristmas = false; // Merry Christmas or Happy New Year!
-    ///Caption = Format("%.1f FPS", ARRAYOFCONST((Viewer->FramesPerSecond())));
+	Caption = Viewer->FramesPerSecond();
 	Viewer->ResetPerformanceMonitor();
 
 	if ((GLSMBASS->Active) && (bStream == 0)) {
@@ -101,8 +101,8 @@ void __fastcall TForm1::TimerTimer(TObject* Sender)
 	if (TheChristmas) {
 		t = EncodeDate(y, 12, 25) - Now();
 		ftCongratulations->Text = "Merry Christmas!";
-	} else {
-		t = EncodeDate(y + 1, 01, 01) - Now();
+    } else {
+        t = EncodeDate(y + 1, 01, 01) - Now();
 		ftCongratulations->Text = "Happy New Year!";
 		ftYear->Text = IntToStr(y + 1);
 	}
@@ -121,7 +121,7 @@ void __fastcall TForm1::TimerTimer(TObject* Sender)
             buf = buf + IntToStr(i) + " hour...";
 		ftCountDown->Text = buf;
     } else {
-        t = (double)t * 24;
+		t = (double)t * 24;
         if ((double)t > 1) {
 			buf = IntToStr((int)t) + " hours, ";
             i = RoundInt(Frac((double)t) * 60);
@@ -130,9 +130,9 @@ void __fastcall TForm1::TimerTimer(TObject* Sender)
             else
 				buf = buf + IntToStr(i) + " minute...";
 			ftCountDown->Text = buf;
-		} else {     // minutes and seconds
+		} else {
 			t = (double)t * 60;
-			i = RoundInt(((double)t - Frac((double)t)) * 60); // ?Floor
+			i = RoundInt((double)t - Frac((double)t) * 60); // Floor(t) ambiguous
 			ftCountDown->Text =
 				IntToStr((int)t) + " minutes, " + IntToStr(i) + " seconds...";
 		}

+ 16 - 7
Examples/AdvDemos/Christmas/fChrismasC.dfm

@@ -1,15 +1,19 @@
 object Form1: TForm1
   Left = 0
   Top = 0
+  Margins.Left = 5
+  Margins.Top = 5
+  Margins.Right = 5
+  Margins.Bottom = 5
   Align = alClient
   BorderStyle = bsNone
   Caption = 'Christmas'
-  ClientHeight = 671
-  ClientWidth = 856
+  ClientHeight = 1174
+  ClientWidth = 1498
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -11
+  Font.Height = -19
   Font.Name = 'Tahoma'
   Font.Style = []
   Visible = True
@@ -19,18 +23,23 @@ object Form1: TForm1
   OnKeyPress = FormKeyPress
   OnMouseWheel = FormMouseWheel
   OnResize = FormResize
-  TextHeight = 13
+  PixelsPerInch = 168
+  TextHeight = 23
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 856
-    Height = 671
+    Width = 1498
+    Height = 1174
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Camera = Camera
     Buffer.BackgroundColor = clBlack
     Buffer.AmbientColor.Color = {0000803F0000803F0000803F0000803F}
     Buffer.ContextOptions = [roDoubleBuffer, roRenderToWindow]
     Buffer.AntiAliasing = aa2x
-    FieldOfView = 163.047042846679700000
+    FieldOfView = 170.262725830078100000
     PenAsTouch = False
     Align = alClient
     OnDblClick = ViewerDblClick

+ 1 - 3
Examples/AdvDemos/Christmas/fChrismasD.pas

@@ -280,10 +280,8 @@ begin
       ftCountDown.Text := buf;
     end
     else
-    begin    //minutes and seconds
+    begin
       t := t * 60;
- 			i := Round((t - Floor(t)) * 60);
-
       ftCountDown.Text := IntToStr(Trunc(t)) + ' minutes, ' +
         IntToStr(Round(Frac(t) * 60)) + ' seconds...';
     end;

二进制
Examples/AdvDemos/Earth/Earth.jpg


+ 3 - 3
Examples/AdvDemos/Earth/Readme.txt

@@ -6,7 +6,7 @@ a stars background and optional constellation lines.
 
 The only technical part lies with the atmospheric effect, which
 is raytraced on key points, and then interpolated in between. 
-Yes, I know earth atmosphere's is much thinner, but a thicker 
+Yes, the earth atmosphere's is much thinner, but a thicker 
 atmosphere looks better :)
 
 Requirements:
@@ -59,5 +59,5 @@ Known issues:
   (underclocking), they can put a lot of strain on these during AGP 
   texturing.
 
-Eric Grange
-http://glscene.org
+Eric Grange 
+& GLS Team

二进制
Examples/AdvDemos/Forest/Forest.jpg


+ 1212 - 0
Examples/AdvDemos/Forest/ForestC.cbproj

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

+ 35 - 0
Examples/AdvDemos/Forest/ForestC.cpp

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

+ 16 - 0
Examples/AdvDemos/Forest/fForestC.cpp

@@ -0,0 +1,16 @@
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+
+#include "fForestC.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma resource "*.dfm"
+TFormForest *FormForest;
+//---------------------------------------------------------------------------
+__fastcall TFormForest::TFormForest(TComponent* Owner)
+	: TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------

+ 20 - 0
Examples/AdvDemos/Forest/fForestC.dfm

@@ -0,0 +1,20 @@
+object FormForest: TFormForest
+  Left = 0
+  Top = 0
+  Margins.Left = 5
+  Margins.Top = 5
+  Margins.Right = 5
+  Margins.Bottom = 5
+  Caption = 'Forest'
+  ClientHeight = 654
+  ClientWidth = 1029
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -21
+  Font.Name = 'Segoe UI'
+  Font.Style = []
+  Position = poScreenCenter
+  PixelsPerInch = 168
+  TextHeight = 30
+end

+ 21 - 0
Examples/AdvDemos/Forest/fForestC.h

@@ -0,0 +1,21 @@
+//---------------------------------------------------------------------------
+
+#ifndef fForestCH
+#define fForestCH
+//---------------------------------------------------------------------------
+#include <System.Classes.hpp>
+#include <Vcl.Controls.hpp>
+#include <Vcl.StdCtrls.hpp>
+#include <Vcl.Forms.hpp>
+//---------------------------------------------------------------------------
+class TFormForest : public TForm
+{
+__published:	// IDE-managed Components
+private:	// User declarations
+public:		// User declarations
+	__fastcall TFormForest(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TFormForest *FormForest;
+//---------------------------------------------------------------------------
+#endif

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

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

+ 2 - 2
Examples/AdvDemos/GLSViewer/GLSViewerD.dpr

@@ -4,7 +4,7 @@ uses
   Forms,
   fGLForm in 'Source\fGLForm.pas' {GLForm},
   fGLDialog in 'Source\fGLDialog.pas' {GLDialog},
-  fMain in 'Source\fMain.pas' {MainForm},
+  fGLSViewer in 'Source\fGLSViewer.pas' {FormGLSViewer},
   uGlobals in 'Source\uGlobals.pas',
   uSettings in 'Source\uSettings.pas',
   dGLSViewer in 'Source\dGLSViewer.pas' {dmGLSViewer: TDataModule},
@@ -17,7 +17,7 @@ uses
 begin
   Application.Initialize;
   Application.Title := 'GLSViewer';
-  Application.CreateForm(TMainForm, MainForm);
+  Application.CreateForm(TFormGLSViewer, FormGLSViewer);
   Application.CreateForm(TdmGLSViewer, dmGLSViewer);
   Application.Run;
 end.

+ 12 - 3
Examples/AdvDemos/GLSViewer/GLSViewerD.dproj

@@ -90,8 +90,11 @@
         <DCC_IntegerOverflowCheck>true</DCC_IntegerOverflowCheck>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
+        <Icon_MainIcon>..\..\..\Assets\Icon\Pyramid.ico</Icon_MainIcon>
     </PropertyGroup>
     <ItemGroup>
         <DelphiCompile Include="$(MainSource)">
@@ -103,8 +106,8 @@
         <DCCReference Include="Source\fGLDialog.pas">
             <Form>GLDialog</Form>
         </DCCReference>
-        <DCCReference Include="Source\fMain.pas">
-            <Form>MainForm</Form>
+        <DCCReference Include="Source\fGLSViewer.pas">
+            <Form>FormGLSViewer</Form>
         </DCCReference>
         <DCCReference Include="Source\uGlobals.pas"/>
         <DCCReference Include="Source\uSettings.pas"/>
@@ -139,6 +142,12 @@
                 <Source>
                     <Source Name="MainSource">GLSViewerD.dpr</Source>
                 </Source>
+                <Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k290.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp290.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k290.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                </Excluded_Packages>
             </Delphi.Personality>
             <Platforms>
                 <Platform value="Win32">True</Platform>

+ 40 - 48
Examples/AdvDemos/GLSViewer/Source/fGLAbout.dfm

@@ -1,7 +1,8 @@
 inherited GLAbout: TGLAbout
   Caption = 'About'
-  ClientHeight = 323
-  ClientWidth = 446
+  ClientHeight = 383
+  ClientWidth = 506
+  Font.Height = -19
   Icon.Data = {
     0000010002002020000001000800A80800002600000010100000010008006805
     0000CE0800002800000020000000400000000100080000000000800400000000
@@ -117,31 +118,29 @@ inherited GLAbout: TGLAbout
     00000509030000000000000000000000000000050000FFFF0000FC3F0000F00F
     0000C003000000000000000000000000000080010000C0030000C0070000000F
     00000019000080200000C2600000E7F10000FFFB0000}
-  ExplicitLeft = 3
-  ExplicitTop = 3
-  ExplicitWidth = 464
-  ExplicitHeight = 370
-  PixelsPerInch = 96
-  TextHeight = 16
+  StyleElements = [seFont, seClient, seBorder]
+  ExplicitWidth = 522
+  ExplicitHeight = 422
+  TextHeight = 24
   inherited PanelTop: TPanel
-    Width = 446
+    Width = 506
     Height = 89
-    ExplicitWidth = 446
+    StyleElements = [seFont, seClient, seBorder]
+    ExplicitWidth = 498
     ExplicitHeight = 89
     object LabelVersion: TLabel
-      Left = -32
+      Left = 102
       Top = 63
-      Width = 44
-      Height = 16
+      Width = 50
+      Height = 20
       Anchors = [akTop, akRight]
       Caption = 'version'
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clWindowText
-      Font.Height = -15
+      Font.Height = -16
       Font.Name = 'MS Sans Serif'
       Font.Style = []
       ParentFont = False
-      ExplicitLeft = 144
     end
     object LabelGeoblock: TLabel
       Left = 102
@@ -157,30 +156,23 @@ inherited GLAbout: TGLAbout
       ParentFont = False
       IsControl = True
     end
-    object Label2: TLabel
-      Left = 75
-      Top = 41
-      Width = 289
-      Height = 16
-      Alignment = taCenter
-      Caption = 'Based on Eric Grange'#39's GLSViewer for GLScene'
-    end
     object StaticTextVersion: TStaticText
-      Left = 228
-      Top = 63
-      Width = 25
-      Height = 20
+      Left = 219
+      Top = 61
+      Width = 34
+      Height = 28
       Caption = 'Info'
       TabOrder = 0
     end
   end
   inherited PanelMiddle: TPanel
     Top = 89
-    Width = 446
-    Height = 189
+    Width = 506
+    Height = 249
+    StyleElements = [seFont, seClient, seBorder]
     ExplicitTop = 89
-    ExplicitWidth = 446
-    ExplicitHeight = 189
+    ExplicitWidth = 498
+    ExplicitHeight = 224
     object LabelCopyright: TLabel [0]
       Left = 102
       Top = 159
@@ -2392,15 +2384,15 @@ inherited GLAbout: TGLAbout
     object Label1: TLabel [4]
       Left = 288
       Top = 159
-      Width = 95
-      Height = 16
+      Width = 133
+      Height = 24
       Caption = 'GLScene Team'
     end
     object Label3: TLabel [5]
       Left = 123
       Top = 28
-      Width = 188
-      Height = 16
+      Width = 265
+      Height = 24
       Caption = '3D view, 3D file formats support:'
     end
     object FreeAndOpenSource: TLabel [6]
@@ -2417,31 +2409,31 @@ inherited GLAbout: TGLAbout
       ParentFont = False
     end
     inherited Memo: TMemo
-      Width = 444
-      Height = 187
+      Width = 504
+      Height = 247
       TabOrder = 1
       Visible = False
-      ExplicitLeft = 1
-      ExplicitTop = 1
-      ExplicitWidth = 444
-      ExplicitHeight = 187
+      StyleElements = [seFont, seClient, seBorder]
+      ExplicitWidth = 496
+      ExplicitHeight = 222
     end
     object PanelYears: TPanel
       Left = 187
-      Top = 158
-      Width = 77
+      Top = 200
+      Width = 144
       Height = 17
       BevelOuter = bvNone
-      Caption = ' '#169'  2002, 2021'
+      Caption = ' '#169'  2002, 2024'
       TabOrder = 0
     end
   end
   inherited PanelBottom: TPanel
-    Top = 278
-    Width = 446
+    Top = 338
+    Width = 506
     Height = 45
-    ExplicitTop = 278
-    ExplicitWidth = 446
+    StyleElements = [seFont, seClient, seBorder]
+    ExplicitTop = 313
+    ExplicitWidth = 498
     ExplicitHeight = 45
   end
 end

+ 0 - 1
Examples/AdvDemos/GLSViewer/Source/fGLAbout.pas

@@ -32,7 +32,6 @@ type
     Label1: TLabel;
     Label3: TLabel;
     FreeAndOpenSource: TLabel;
-    Label2: TLabel;
     procedure imgSourceForgeDblClick(Sender: TObject);
     procedure imgGLSceneDblClick(Sender: TObject);
     procedure imgOpenGLDblClick(Sender: TObject);

+ 2 - 4
Examples/AdvDemos/GLSViewer/Source/fGLDialog.dfm

@@ -3,10 +3,10 @@ inherited GLDialog: TGLDialog
   Caption = 'GLScene Dialog'
   ClientHeight = 362
   ClientWidth = 484
+  StyleElements = [seFont, seClient, seBorder]
   ExplicitWidth = 500
   ExplicitHeight = 401
-  PixelsPerInch = 96
-  TextHeight = 16
+  TextHeight = 20
   object PanelTop: TPanel
     Left = 0
     Top = 0
@@ -33,8 +33,6 @@ inherited GLDialog: TGLDialog
         ''
         '')
       TabOrder = 0
-      ExplicitLeft = 2
-      ExplicitTop = 2
     end
   end
   object PanelBottom: TPanel

+ 4 - 4
Examples/AdvDemos/GLSViewer/Source/fGLForm.dfm

@@ -2,16 +2,16 @@ object GLForm: TGLForm
   Left = 392
   Top = 227
   HelpContext = 1
-  ClientHeight = 304
-  ClientWidth = 3610
+  ClientHeight = 698
+  ClientWidth = 981
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -13
+  Font.Height = -16
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poMainFormCenter
   Scaled = False
   OnCreate = FormCreate
-  TextHeight = 16
+  TextHeight = 20
 end

+ 28 - 7
Examples/AdvDemos/GLSViewer/Source/fGLOptions.dfm

@@ -1,22 +1,39 @@
 inherited GLOptions: TGLOptions
   HelpContext = 0
   Caption = 'Options'
+  ClientHeight = 394
+  ClientWidth = 521
+  Font.Height = -16
+  StyleElements = [seFont, seClient, seBorder]
   OnClose = FormClose
-  ExplicitLeft = 3
-  ExplicitTop = 3
-  TextHeight = 16
+  ExplicitLeft = 4
+  ExplicitTop = 4
+  ExplicitWidth = 537
+  ExplicitHeight = 433
+  TextHeight = 20
+  inherited PanelTop: TPanel
+    Width = 521
+    StyleElements = [seFont, seClient, seBorder]
+    ExplicitWidth = 492
+  end
   inherited PanelMiddle: TPanel
+    Width = 521
+    Height = 318
+    StyleElements = [seFont, seClient, seBorder]
+    ExplicitWidth = 492
     object Label1: TLabel [0]
       Left = 296
       Top = 33
-      Width = 73
-      Height = 16
+      Width = 86
+      Height = 20
       Caption = 'Background'
     end
     inherited Memo: TMemo
+      Width = 519
+      Height = 316
       TabOrder = 2
-      ExplicitLeft = 1
-      ExplicitTop = 1
+      StyleElements = [seFont, seClient, seBorder]
+      ExplicitWidth = 490
     end
     object CheckBoxAxis: TCheckBox
       Left = 96
@@ -60,6 +77,10 @@ inherited GLOptions: TGLOptions
     end
   end
   inherited PanelBottom: TPanel
+    Top = 353
+    Width = 521
+    StyleElements = [seFont, seClient, seBorder]
+    ExplicitWidth = 492
     inherited ButtonOK: TButton
       OnClick = ButtonOKClick
     end

+ 4 - 4
Examples/AdvDemos/GLSViewer/Source/fGLOptions.pas

@@ -52,7 +52,7 @@ implementation
 
 uses
   GnuGettext,
-  fMain;
+  fGLSViewer;
 
 
 procedure TGLOptions.FormCreate(Sender: TObject);
@@ -122,9 +122,9 @@ end;
 procedure TGLOptions.CheckBoxAxisClick(Sender: TObject);
 begin
   if CheckBoxAxis.Checked then
-    MainForm.DCAxis.Visible := True
+    FormGLSViewer.DCAxis.Visible := True
   else
-    MainForm.DCAxis.Visible := False;
+    FormGLSViewer.DCAxis.Visible := False;
 end;
 
 
@@ -134,7 +134,7 @@ begin
    if dmGLSViewer.ColorDialog.Execute then
    begin
      PanelBackground.Color :=  dmGLSViewer.ColorDialog.Color;
-     MainForm.ApplyBgColor;
+     FormGLSViewer.ApplyBgColor;
    end;
 end;
 

+ 3 - 5
Examples/AdvDemos/GLSViewer/readme.txt

@@ -1,8 +1,5 @@
 GLSViewer
 
-http://sourceforge.net/projects/glscene
-http://glscene.org
-
 A fast 3D mesh viewer. 
 Released as Freeware and open-sourced
 under Mozilla PL (http://mozilla.org)
@@ -17,8 +14,9 @@ hidden lines removal, texturing and antialiasing
 GLSViewer was made and packaged with the following
 tools and libraries:
 
-- RAD Studio (http://edn.embarcadero.com/delphi/)
-- GLScene (http://glscene.net; http://sf.net/projects/glscene)
+http://glscene.org
+https://sourceforge.net/projects/glscene
+https://github.com/glscene
 
 Enjoy.
 

二进制
Examples/AdvDemos/IntensityMesh/IntensityMesh.jpg


+ 2 - 2
Examples/AdvDemos/IntensityMesh/IntensityMeshD.dpr

@@ -19,12 +19,12 @@ program IntensityMeshD;
 
 uses
   Forms,
-  fIntensityMeshD in 'fIntensityMeshD.pas' {Form1};
+  fIntensityMeshD in 'fIntensityMeshD.pas' {FormIntensutyMesh};
 
 {$R *.res}
 
 begin
   Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFormIntensutyMesh, FormIntensutyMesh);
   Application.Run;
 end.

+ 1 - 1
Examples/AdvDemos/IntensityMesh/IntensityMeshD.dproj

@@ -114,7 +114,7 @@
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
         <DCCReference Include="fIntensityMeshD.pas">
-            <Form>Form1</Form>
+            <Form>FormIntensutyMesh</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>

+ 59 - 31
Examples/AdvDemos/IntensityMesh/fIntensityMeshD.dfm

@@ -1,31 +1,39 @@
-object Form1: TForm1
+object FormIntensutyMesh: TFormIntensutyMesh
   Left = 61
   Top = 69
+  Margins.Left = 5
+  Margins.Top = 5
+  Margins.Right = 5
+  Margins.Bottom = 5
   Caption = 'Intensity Mesh'
-  ClientHeight = 423
-  ClientWidth = 629
+  ClientHeight = 740
+  ClientWidth = 1115
   Color = clWhite
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -11
+  Font.Height = -19
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
-  WindowState = wsMaximized
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
-  TextHeight = 13
+  PixelsPerInch = 168
+  TextHeight = 24
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 542
-    Height = 423
+    Width = 963
+    Height = 740
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Camera = GLCamera
     Buffer.BackgroundColor = clTeal
     Buffer.ContextOptions = [roDoubleBuffer, roRenderToWindow, roStereo]
     Buffer.FaceCulling = False
     Buffer.Lighting = False
-    FieldOfView = 153.398193359375000000
+    FieldOfView = 164.607894897460900000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
@@ -33,27 +41,39 @@ object Form1: TForm1
     TabOrder = 0
   end
   object Panel1: TPanel
-    Left = 542
+    Left = 963
     Top = 0
-    Width = 87
-    Height = 423
+    Width = 152
+    Height = 740
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Align = alRight
     TabOrder = 1
     DesignSize = (
-      87
-      423)
+      152
+      740)
     object Label1: TLabel
-      Left = 8
-      Top = 64
-      Width = 63
-      Height = 13
+      Left = 14
+      Top = 112
+      Width = 108
+      Height = 24
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Palette Scale'
     end
     object CBWireFrame: TCheckBox
-      Left = 8
-      Top = 32
-      Width = 73
-      Height = 17
+      Left = 14
+      Top = 56
+      Width = 128
+      Height = 30
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Wireframe'
       Checked = True
       State = cbChecked
@@ -61,19 +81,27 @@ object Form1: TForm1
       OnClick = CBWireFrameClick
     end
     object CBSmooth: TCheckBox
-      Left = 8
-      Top = 8
-      Width = 57
-      Height = 17
+      Left = 14
+      Top = 14
+      Width = 100
+      Height = 30
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Smooth'
       TabOrder = 1
       OnClick = CBSmoothClick
     end
     object TBScale: TTrackBar
-      Left = 26
-      Top = 88
-      Width = 31
-      Height = 323
+      Left = 46
+      Top = 154
+      Width = 54
+      Height = 565
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Anchors = [akLeft, akTop, akBottom]
       Max = 200
       Orientation = trVertical
@@ -81,7 +109,7 @@ object Form1: TForm1
       Frequency = 10
       Position = 50
       TabOrder = 2
-      ThumbLength = 15
+      ThumbLength = 26
       OnChange = TBScaleChange
     end
   end

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

@@ -39,7 +39,7 @@ uses
   GLS.TextureFormat;
 
 type
-  TForm1 = class(TForm)
+  TFormIntensutyMesh = class(TForm)
     GLScene1: TGLScene;
     GLSceneViewer1: TGLSceneViewer;
     GLCamera: TGLCamera;
@@ -75,7 +75,7 @@ type
   end;
 
 var
-  Form1: TForm1;
+  FormIntensutyMesh: TFormIntensutyMesh;
 
 implementation
 
@@ -99,7 +99,7 @@ var
   DataNodes: array of TDataNode;
   DataPrimitives: array of TDataPrimitive;
 
-procedure TForm1.FormCreate(Sender: TObject);
+procedure TFormIntensutyMesh.FormCreate(Sender: TObject);
 var
   mo: TGLMeshObject;
   fgQuads, fgTris: TFGVertexIndexList;
@@ -152,7 +152,7 @@ begin
   TBScaleChange(Self);
 end;
 
-procedure TForm1.GLUserShaderDoUnApply(Sender: TObject; Pass: Integer;
+procedure TFormIntensutyMesh.GLUserShaderDoUnApply(Sender: TObject; Pass: Integer;
   var rci: TGLRenderContextInfo; var Continue: Boolean);
 begin
   if not CBWireFrame.Checked then
@@ -184,7 +184,7 @@ begin
   end;
 end;
 
-procedure TForm1.CBSmoothClick(Sender: TObject);
+procedure TFormIntensutyMesh.CBSmoothClick(Sender: TObject);
 var
   tex: TGLTexture;
 begin
@@ -202,7 +202,7 @@ begin
   end;
 end;
 
-procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
+procedure TFormIntensutyMesh.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
   mx := X;
@@ -210,7 +210,7 @@ begin
   GLSceneViewer1.SetFocus;
 end;
 
-procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
+procedure TFormIntensutyMesh.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
   X, Y: Integer);
 begin
   if ssLeft in Shift then
@@ -226,7 +226,7 @@ begin
   my := Y;
 end;
 
-procedure TForm1.TBScaleChange(Sender: TObject);
+procedure TFormIntensutyMesh.TBScaleChange(Sender: TObject);
 begin
   with GLMaterialLibrary1.Materials[0] do
     TextureScale.X := TBScale.Position / 100;
@@ -234,13 +234,13 @@ begin
   GLSceneViewer1.Invalidate;
 end;
 
-procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
+procedure TFormIntensutyMesh.FormMouseWheel(Sender: TObject; Shift: TShiftState;
   WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
 begin
   GLCamera.AdjustDistanceToTarget(Power(1.03, WheelDelta / 120));
 end;
 
-procedure TForm1.CBWireFrameClick(Sender: TObject);
+procedure TFormIntensutyMesh.CBWireFrameClick(Sender: TObject);
 begin
   GLSceneViewer1.Invalidate;
 end;

二进制
Examples/AdvDemos/PanoramViewer/PanoViewer.jpg


+ 6 - 8
Examples/AdvDemos/PanoramViewer/PanoViewerD.dpr

@@ -1,18 +1,16 @@
-{
-  Simple spherical panorama viewer using GLScene
+(*
+  Simple spherical panorama viewer
 
-  The sample input images are by Philippe Hurbain. http://www.philohome.com
-
-  Other resources on how to make your own spherical or cylindrical panorama:
+  The sample input images and other resources on how to make 
+  your own spherical or cylindrical panorama:
+    http://www.philohome.com
     http://www.fh-furtwangen.de/~dersch/
     http://www.panoguide.com/
     http://home.no.net/dmaurer/~dersch/Index.htm
-
   Why IPIX patents regarding use of fisheye photos are questionable:
     http://www.worldserver.com/turk/quicktimevr/fisheye.html
+*)
 
-  10/12/02 - EG - Updated for GLScene v0.9+
-}
 program PanoViewerD;
 
 uses

+ 2 - 3
Examples/Examples.htm → Examples/Demos.htm

@@ -84,7 +84,7 @@ ul
   style='font-size:7.5pt;font-family:"Arial",sans-serif'>&nbsp;</span></p>
   <p class=MsoNormal align=center style='text-align:center'><span
   style='font-size:7.5pt;font-family:"Arial",sans-serif'>website: </span><a
-  href="http://glscene.org"><span style='font-size:7.5pt;font-family:"Arial",sans-serif'>http://glscene.org</span></a></p>
+  href="https://github.com/glscene"><span style='font-size:7.5pt;font-family:"Arial",sans-serif'>https://github.com/glscene</span></a></p>
   </td>
   <td width="15%" style='width:15.0%;padding:.75pt .75pt .75pt .75pt'>
   <p class=MsoNormal align=right style='text-align:right'>&nbsp;</p>
@@ -101,8 +101,7 @@ ul
 </span></div>
 
 <p class=MsoPlainText align=center style='text-align:center'><b><span lang=FR
-style='font-size:18.0pt;font-family:"Courier New";color:#FF8000'>GLScene Demos
-and Samples</span></b></p>
+style='font-size:18.0pt;font-family:"Courier New";color:#FF8000'>GLScene Demos</span></b></p>
 
 <ul style='margin-top:0cm' type=disc>
  <li class=MsoNormal><span lang=FR><a href="Demos/behaviours/aBehaviours.htm"><strong>behaviours</strong></a>

+ 78 - 37
Examples/Demos/behaviours/Torque/fTorqueC.dfm

@@ -1,27 +1,36 @@
 object FormTorqueC: TFormTorqueC
   Left = 125
   Top = 119
+  Margins.Left = 5
+  Margins.Top = 5
+  Margins.Right = 5
+  Margins.Bottom = 5
   BorderWidth = 5
   Caption = 'Torque'
-  ClientHeight = 407
-  ClientWidth = 751
+  ClientHeight = 712
+  ClientWidth = 1314
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -11
+  Font.Height = -19
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  TextHeight = 13
+  PixelsPerInch = 168
+  TextHeight = 24
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
-    Top = 78
-    Width = 751
-    Height = 288
+    Top = 137
+    Width = 1314
+    Height = 504
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
-    FieldOfView = 110.444335937500000000
+    FieldOfView = 136.711135864257800000
     PenAsTouch = False
     Align = alClient
     OnMouseMove = GLSceneViewer1MouseMove
@@ -30,59 +39,87 @@ object FormTorqueC: TFormTorqueC
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 751
-    Height = 78
+    Width = 1314
+    Height = 137
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Align = alTop
     TabOrder = 1
     object lHexahedron: TLabel
-      Left = 280
-      Top = 8
-      Width = 116
-      Height = 39
+      Left = 490
+      Top = 14
+      Width = 162
+      Height = 72
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Alignment = taCenter
       Caption = 'Hexahedron has a small constant'#13#10'and linear damping'
       WordWrap = True
     end
     object lDodecahedron: TLabel
-      Left = 472
-      Top = 8
-      Width = 94
-      Height = 52
+      Left = 826
+      Top = 14
+      Width = 162
+      Height = 96
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Alignment = taCenter
       Caption = 'Dodecahedron has a'#13#10'small constant and'#13#10'quadratic damping'
       WordWrap = True
     end
     object lOctagedron: TLabel
-      Left = 128
-      Top = 8
-      Width = 85
-      Height = 39
+      Left = 224
+      Top = 14
+      Width = 140
+      Height = 96
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Alignment = taCenter
       Caption = 'Octahedron has a'#13#10'only quadratic damping'
       WordWrap = True
     end
     object lTetrahedron: TLabel
-      Left = 8
-      Top = 10
-      Width = 84
-      Height = 39
+      Left = 14
+      Top = 18
+      Width = 144
+      Height = 72
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Tetrahedron has an only quadratic damping'
       WordWrap = True
     end
     object lIcosahedron: TLabel
-      Left = 604
-      Top = 8
-      Width = 117
-      Height = 39
+      Left = 1057
+      Top = 14
+      Width = 203
+      Height = 72
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Alignment = taCenter
       Caption = 'Icosahedron has a small constant'#13#10'and linear damping'
       WordWrap = True
     end
     object CheckBox1: TCheckBox
-      Left = 8
-      Top = 55
-      Width = 81
-      Height = 17
+      Left = 14
+      Top = 96
+      Width = 142
+      Height = 30
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Double Mass'
       TabOrder = 0
       OnClick = CheckBox1Click
@@ -90,9 +127,13 @@ object FormTorqueC: TFormTorqueC
   end
   object PanelBottom: TPanel
     Left = 0
-    Top = 366
-    Width = 751
-    Height = 41
+    Top = 641
+    Width = 1314
+    Height = 71
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Align = alBottom
     Caption = 
       'Move your mouse over an object and it will start spinning. Click' +

+ 1 - 1
Examples/Demos/bench/pcBench.cbproj

@@ -170,10 +170,10 @@
         <FormResources Include="smoking\fSmokingC.dfm"/>
         <FormResources Include="volcano\fVolcanoC.dfm"/>
         <FormResources Include="whirlwind\fWhirlC.dfm"/>
+        <FormResources Include="canvas\fCanvasC.dfm"/>
         <FormResources Include="fcBench.dfm"/>
         <FormResources Include="megacube\fMegaCubeC.dfm"/>
         <FormResources Include="megaglasscube\fMegaglassC.dfm"/>
-        <FormResources Include="canvas\fCanvasC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>

+ 1 - 1
Examples/Demos/cgshaders/pdCGshaders.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{35504031-36EC-4C44-A54E-99C276117BF7}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 97 - 51
Examples/Demos/collisions/TriangleBox/fTriangleBoxD.dfm

@@ -1,13 +1,17 @@
 object FormTriangleBox: TFormTriangleBox
   Left = 281
   Top = 112
+  Margins.Left = 5
+  Margins.Top = 5
+  Margins.Right = 5
+  Margins.Bottom = 5
   Caption = 'Triangle and Box Intersection'
-  ClientHeight = 549
-  ClientWidth = 865
+  ClientHeight = 961
+  ClientWidth = 1528
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -11
+  Font.Height = -19
   Font.Name = 'Arial'
   Font.Style = []
   KeyPreview = True
@@ -16,35 +20,45 @@ object FormTriangleBox: TFormTriangleBox
   OnKeyPress = FormKeyPress
   OnMouseWheel = FormMouseWheel
   OnResize = FormResize
-  TextHeight = 14
+  PixelsPerInch = 168
+  TextHeight = 22
   object Viewer: TGLSceneViewer
-    Left = 175
+    Left = 306
     Top = 0
-    Width = 690
-    Height = 549
+    Width = 1222
+    Height = 961
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Camera = GLCamera1
     Buffer.BackgroundColor = clBackground
-    FieldOfView = 159.353576660156300000
+    FieldOfView = 168.118560791015600000
     PenAsTouch = False
     Align = alClient
     OnMouseMove = ViewerMouseMove
     TabOrder = 0
-    ExplicitWidth = 523
-    ExplicitHeight = 486
   end
   object Panel2: TPanel
     Left = 0
     Top = 0
-    Width = 175
-    Height = 549
+    Width = 306
+    Height = 961
+    Margins.Left = 5
+    Margins.Top = 5
+    Margins.Right = 5
+    Margins.Bottom = 5
     Align = alLeft
     TabOrder = 1
-    ExplicitHeight = 443
     object CheckBoxGrid: TCheckBox
-      Left = 8
-      Top = 170
-      Width = 80
-      Height = 17
+      Left = 14
+      Top = 298
+      Width = 140
+      Height = 29
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Grid'
       Checked = True
       State = cbChecked
@@ -52,59 +66,83 @@ object FormTriangleBox: TFormTriangleBox
       OnClick = CheckBoxVisibleClick
     end
     object ButtonFindIntersect: TButton
-      Left = 6
-      Top = 80
-      Width = 162
-      Height = 25
+      Left = 11
+      Top = 140
+      Width = 283
+      Height = 44
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Find next with intersection'
       Default = True
       TabOrder = 3
       OnClick = ButtonFindIntersectClick
     end
     object CheckBoxPosition: TCheckBox
-      Left = 8
-      Top = 11
-      Width = 120
-      Height = 17
+      Left = 14
+      Top = 19
+      Width = 210
+      Height = 30
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Change box position'
       Checked = True
       State = cbChecked
       TabOrder = 0
     end
     object CheckBoxScale: TCheckBox
-      Left = 8
-      Top = 34
-      Width = 120
-      Height = 17
+      Left = 14
+      Top = 60
+      Width = 210
+      Height = 29
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Change box scale'
       Checked = True
       State = cbChecked
       TabOrder = 1
     end
     object CheckBoxTriangle: TCheckBox
-      Left = 8
-      Top = 57
-      Width = 120
-      Height = 17
+      Left = 14
+      Top = 100
+      Width = 210
+      Height = 30
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Change triangle'
       Checked = True
       State = cbChecked
       TabOrder = 2
     end
     object ButtonNotFindIntersect: TButton
-      Left = 6
-      Top = 112
-      Width = 162
-      Height = 25
+      Left = 11
+      Top = 196
+      Width = 283
+      Height = 44
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Find next without intersection'
       TabOrder = 4
       OnClick = ButtonNotFindIntersectClick
     end
     object CheckBoxVisible: TCheckBox
-      Left = 8
-      Top = 146
-      Width = 80
-      Height = 19
+      Left = 14
+      Top = 256
+      Width = 140
+      Height = 33
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Box visible'
       Checked = True
       State = cbChecked
@@ -112,10 +150,14 @@ object FormTriangleBox: TFormTriangleBox
       OnClick = CheckBoxVisibleClick
     end
     object CheckBoxAxis: TCheckBox
-      Left = 8
-      Top = 192
-      Width = 80
-      Height = 17
+      Left = 14
+      Top = 336
+      Width = 140
+      Height = 30
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Axis'
       Checked = True
       State = cbChecked
@@ -123,10 +165,14 @@ object FormTriangleBox: TFormTriangleBox
       OnClick = CheckBoxVisibleClick
     end
     object RadioGroupCoPolygon: TRadioGroup
-      Left = 16
-      Top = 236
-      Width = 112
-      Height = 105
+      Left = 28
+      Top = 413
+      Width = 196
+      Height = 184
+      Margins.Left = 5
+      Margins.Top = 5
+      Margins.Right = 5
+      Margins.Bottom = 5
       Caption = 'Coplanar Polygon'
       ItemIndex = 0
       Items.Strings = (
@@ -177,7 +223,7 @@ object FormTriangleBox: TFormTriangleBox
       YSamplingScale.Step = 3.000000000000000000
       ZSamplingScale.Step = 0.100000001490116100
     end
-    object GLPolygon1: TGLPolygon
+    object Triangle: TGLPolygon
       Material.FrontProperties.Diffuse.Color = {000000000000803F000000000000803F}
       Nodes = <
         item
@@ -190,7 +236,7 @@ object FormTriangleBox: TFormTriangleBox
           Z = 1.000000000000000000
         end>
     end
-    object GLPolygon2: TGLPolygon
+    object Polygon: TGLPolygon
       Nodes = <>
     end
     object GLLines1: TGLLines

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

@@ -51,12 +51,12 @@ type
     CheckBoxScale: TCheckBox;
     CheckBoxTriangle: TCheckBox;
     ButtonNotFindIntersect: TButton;
-    GLPolygon1: TGLPolygon;
+    Triangle: TGLPolygon;
     CheckBoxVisible: TCheckBox;
     GLPoints1: TGLPoints;
     CheckBoxAxis: TCheckBox;
     GLLines2: TGLLines;
-    GLPolygon2: TGLPolygon;
+    Polygon: TGLPolygon;
     RadioGroupCoPolygon: TRadioGroup;
     procedure GLCadencerProgress(Sender: TObject; const deltaTime,
       newTime: Double);
@@ -106,18 +106,18 @@ end;
 
 procedure TFormTriangleBox.DrawCoplanarPolygon;
 begin
-  GLPolygon2.Nodes.Clear;
-  GLPolygon2.Material.FrontProperties.Ambient.RandomColor;
+  Polygon.Nodes.Clear;
+  Polygon.Material.FrontProperties.Ambient.RandomColor;
   PolygonPos[0] := AffineVectorMake(-5,-5,0);
   PolygonPos[1] := AffineVectorMake(5,-5,0);
   PolygonPos[2] := AffineVectorMake(5,5,0);
   PolygonPos[3] := AffineVectorMake(-5,5,0);
   PolygonPos[4] := AffineVectorMake(0,0,0);
-  GLPolygon2.AddNode(PolygonPos[0]);
-  GLPolygon2.AddNode(PolygonPos[1]);
-  GLPolygon2.AddNode(PolygonPos[2]);
-  GLPolygon2.AddNode(PolygonPos[3]);
-  GLPolygon2.AddNode(PolygonPos[4]);
+  Polygon.AddNode(PolygonPos[0]);
+  Polygon.AddNode(PolygonPos[1]);
+  Polygon.AddNode(PolygonPos[2]);
+  Polygon.AddNode(PolygonPos[3]);
+  Polygon.AddNode(PolygonPos[4]);
 end;
 
 procedure TFormTriangleBox.MakeRandomData;
@@ -148,9 +148,9 @@ end;
 procedure TFormTriangleBox.RadioGroupCoPolygonClick(Sender: TObject);
 begin
   case RadioGroupCoPolygon.ItemIndex of
-     0: GLPolygon2.Material.PolygonMode := pmFill;
-     1: GLPolygon2.Material.PolygonMode := pmLines;
-     2: GLPolygon2.Material.PolygonMode := pmPoints;
+     0: Polygon.Material.PolygonMode := pmFill;
+     1: Polygon.Material.PolygonMode := pmLines;
+     2: Polygon.Material.PolygonMode := pmPoints;
   end;
 end;
 
@@ -158,12 +158,12 @@ procedure TFormTriangleBox.DrawResult;
 var
   i : Integer;
 begin
-  GLPolygon1.Nodes.Clear;
-  GLPolygon1.Material.FrontProperties.Emission.Color := clrGreen;
-  GLPolygon1.Material.BackProperties.Emission.Color := clrGreen;
-  GLPolygon1.AddNode(TriangePos[0]);
-  GLPolygon1.AddNode(TriangePos[1]);
-  GLPolygon1.AddNode(TriangePos[2]);
+  Triangle.Nodes.Clear;
+  Triangle.Material.FrontProperties.Emission.Color := clrGreen;
+  Triangle.Material.BackProperties.Emission.Color := clrGreen;
+  Triangle.AddNode(TriangePos[0]);
+  Triangle.AddNode(TriangePos[1]);
+  Triangle.AddNode(TriangePos[2]);
 
   GLPoints1.Positions.Clear;
   GLPoints1.Colors.Add(1, 0, 1, 1); //magenta

+ 3 - 2
Examples/Demos/extrusion/fdExtrusion.dfm

@@ -7,7 +7,7 @@ object frmExtrusionD: TfrmExtrusionD
   Margins.Bottom = 5
   Caption = 'Extrusion'
   ClientHeight = 977
-  ClientWidth = 1502
+  ClientWidth = 1149
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -59,7 +59,7 @@ object frmExtrusionD: TfrmExtrusionD
   object PageControl: TPageControl
     Left = 226
     Top = 0
-    Width = 1276
+    Width = 923
     Height = 977
     Margins.Left = 5
     Margins.Top = 5
@@ -68,6 +68,7 @@ object frmExtrusionD: TfrmExtrusionD
     ActivePage = tsTentacles
     Align = alClient
     TabOrder = 1
+    ExplicitWidth = 1276
     object tsBending: TTabSheet
       Margins.Left = 5
       Margins.Top = 5

+ 3 - 3
Examples/Demos/extrusion/pcExtrusion.cbproj

@@ -163,12 +163,12 @@
             <DependentOn>tentacles\fTentaclesC.h</DependentOn>
             <BuildOrder>6</BuildOrder>
         </CppCompile>
-        <FormResources Include="nutsnbolts\fNutsnBoltsC.dfm"/>
         <FormResources Include="pawn\fPawnC.dfm"/>
         <FormResources Include="tentacles\fTentaclesC.dfm"/>
-        <FormResources Include="fcExtrusion.dfm"/>
+        <FormResources Include="nutsnbolts\fNutsnBoltsC.dfm"/>
         <FormResources Include="bendingcyl\fBendingC.dfm"/>
         <FormResources Include="cutoutstar\fCutoutstarC.dfm"/>
+        <FormResources Include="fcExtrusion.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -263,13 +263,13 @@
                     </Platform>
                 </DeployFile>
                 <DeployFile LocalName=".\Win32\Debug\ExtrusionC.tds" Configuration="Debug" Class="DebugSymbols"/>
+                <DeployFile LocalName=".\Win32\Debug\pcExtrusion.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\pcExtrusion.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
                         <RemoteName>pcExtrusion.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName=".\Win32\Debug\pcExtrusion.exe" Configuration="Debug" Class="ProjectOutput"/>
                 <DeployFile LocalName=".\Win32\Debug\pcExtrusion.tds" Configuration="Debug" Class="DebugSymbols">
                     <Platform Name="Win32">
                         <RemoteName>pcExtrusion.tds</RemoteName>

+ 27 - 11
Examples/Demos/glslshaders/fdGLSLshaders.dfm

@@ -41,17 +41,33 @@ object FormGLSLshaders: TFormGLSLshaders
       Indent = 33
       TabOrder = 0
       Items.NodeData = {
-        070700000009540054007200650065004E006F00640065002500000000000000
-        00000000FFFFFFFFFFFFFFFF0000000000000000000000000001034F006E0065
-        000000250000000000000000000000FFFFFFFFFFFFFFFF000000000000000000
-        000000000103540077006F000000290000000000000000000000FFFFFFFFFFFF
-        FFFF000000000000000000000000000105540068007200650065000000270000
-        000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000104
-        46006F00750072000000270000000000000000000000FFFFFFFFFFFFFFFF0000
-        0000000000000000000000010446006900760065000000250000000000000000
-        000000FFFFFFFFFFFFFFFF000000000000000000000000000103530069007800
-        0000290000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000
-        000000010553006500760065006E00}
+        070E00000009540054007200650065004E006F00640065003300000000000000
+        00000000FFFFFFFFFFFFFFFF00000000000000000000000000010A420075006D
+        0070005300680061006400650072000000310000000000000000000000FFFFFF
+        FFFFFFFFFF000000000000000000000000000109420075006E006E0079004200
+        75006D0070000000390000000000000000000000FFFFFFFFFFFFFFFF00000000
+        000000000000000000010D440069006600660075007300650053006800610064
+        00650072000000310000000000000000000000FFFFFFFFFFFFFFFF0000000000
+        0000000000000000010946007500720053006800610064006500720000003900
+        00000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000000001
+        0D4C0069006E0069006E00670053006800610064006500720073000000330000
+        000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000010A
+        4D0061006E00640065006C00620072006F007400000029000000000000000000
+        0000FFFFFFFFFFFFFFFF0000000000000000000000000001054F006300650061
+        006E000000330000000000000000000000FFFFFFFFFFFFFFFF00000000000000
+        000000000000010A50006F007300740053006800610064006500720000003F00
+        00000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000000001
+        10500072006F006A006500630074006500640054006500780074007500720065
+        0000003D0000000000000000000000FFFFFFFFFFFFFFFF000000000000000000
+        00000000010F53006800610064006500720043006F006D0070006F006E006500
+        6E0074000000330000000000000000000000FFFFFFFFFFFFFFFF000000000000
+        00000000000000010A53006800610064006500720073004C0061006200000031
+        0000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000
+        010953006800610064006500720074006F007900000033000000000000000000
+        0000FFFFFFFFFFFFFFFF00000000000000000000000000010A530069006D0070
+        006C00650047004C0053004C000000370000000000000000000000FFFFFFFFFF
+        FFFFFF00000000000000000000000000010C53006B00790062006F0078005300
+        68006100640065007200}
     end
   end
   object PageControl: TPageControl

+ 11 - 2
Examples/Demos/glslshaders/fdGLSLshaders.pas

@@ -3,8 +3,17 @@ unit fdGLSLshaders;
 interface
 
 uses
-  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
-  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls;
+  Winapi.Windows,
+  Winapi.Messages,
+  System.SysUtils,
+  System.Variants,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.Dialogs,
+  Vcl.ComCtrls,
+  Vcl.ExtCtrls;
 
 type
   TFormGLSLshaders = class(TForm)

+ 1 - 1
Examples/Demos/glslshaders/pdGLSLshaders.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{91E159C4-0E1F-4EB1-8C21-7EC87CD00786}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 6 - 6
Examples/Demos/graph/fcGraph.dfm

@@ -6,8 +6,8 @@ object FormGraph: TFormGraph
   Margins.Right = 5
   Margins.Bottom = 5
   Caption = 'Graph'
-  ClientHeight = 999
-  ClientWidth = 1544
+  ClientHeight = 758
+  ClientWidth = 1238
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -24,7 +24,7 @@ object FormGraph: TFormGraph
     Left = 0
     Top = 0
     Width = 226
-    Height = 999
+    Height = 758
     Margins.Left = 5
     Margins.Top = 5
     Margins.Right = 5
@@ -35,7 +35,7 @@ object FormGraph: TFormGraph
       Left = 1
       Top = 1
       Width = 224
-      Height = 997
+      Height = 756
       Margins.Left = 5
       Margins.Top = 5
       Margins.Right = 5
@@ -59,8 +59,8 @@ object FormGraph: TFormGraph
   object PageControl: TPageControl
     Left = 226
     Top = 0
-    Width = 1318
-    Height = 999
+    Width = 1012
+    Height = 758
     Margins.Left = 5
     Margins.Top = 5
     Margins.Right = 5

+ 10 - 6
Examples/Demos/graph/fdGraph.dfm

@@ -6,8 +6,8 @@ object FormGraph: TFormGraph
   Margins.Right = 5
   Margins.Bottom = 5
   Caption = 'Graph'
-  ClientHeight = 952
-  ClientWidth = 1579
+  ClientHeight = 721
+  ClientWidth = 1153
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -24,18 +24,19 @@ object FormGraph: TFormGraph
     Left = 0
     Top = 0
     Width = 226
-    Height = 952
+    Height = 721
     Margins.Left = 5
     Margins.Top = 5
     Margins.Right = 5
     Margins.Bottom = 5
     Align = alLeft
     TabOrder = 0
+    ExplicitHeight = 952
     object tvGraph: TTreeView
       Left = 1
       Top = 1
       Width = 224
-      Height = 950
+      Height = 719
       Margins.Left = 5
       Margins.Top = 5
       Margins.Right = 5
@@ -54,13 +55,14 @@ object FormGraph: TFormGraph
         FF00000000000000000000000000010A500072006F006A006500630074006900
         6F006E0000002D0000000000000000000000FFFFFFFFFFFFFFFF000000000000
         000000000000000107530070006C0069006E0065007300}
+      ExplicitHeight = 950
     end
   end
   object PageControl: TPageControl
     Left = 226
     Top = 0
-    Width = 1353
-    Height = 952
+    Width = 927
+    Height = 721
     Margins.Left = 5
     Margins.Top = 5
     Margins.Right = 5
@@ -68,6 +70,8 @@ object FormGraph: TFormGraph
     ActivePage = tsProjection
     Align = alClient
     TabOrder = 1
+    ExplicitWidth = 1353
+    ExplicitHeight = 952
     object tsFxy: TTabSheet
       Margins.Left = 5
       Margins.Top = 5

+ 1 - 1
Examples/Demos/graph/pcGraph.cbproj

@@ -166,9 +166,9 @@
         <FormResources Include="points\fPointsC.dfm"/>
         <FormResources Include="projection\fProjectionC.dfm"/>
         <FormResources Include="splines\fSplinesC.dfm"/>
-        <FormResources Include="heightfield\fHeightfieldC.dfm"/>
         <FormResources Include="fcGraph.dfm"/>
         <FormResources Include="fxy\fFxyC.dfm"/>
+        <FormResources Include="heightfield\fHeightfieldC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>

+ 3 - 3
Examples/Demos/graph/pcGraph.cpp

@@ -4,12 +4,12 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
+USEFORM("fcGraph.cpp", FormGraph);
+USEFORM("fxy\fFxyC.cpp", FormPlot);
+USEFORM("heightfield\fHeightfieldC.cpp", Form1);
 USEFORM("points\fPointsC.cpp", FormPoints);
 USEFORM("projection\fProjectionC.cpp", FormProjection);
 USEFORM("splines\fSplinesC.cpp", FormSplines);
-USEFORM("heightfield\fHeightfieldC.cpp", Form1);
-USEFORM("fcGraph.cpp", FormGraph);
-USEFORM("fxy\fFxyC.cpp", FormPlot);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 26 - 11
Examples/Demos/interface/fdInterface.dfm

@@ -41,17 +41,32 @@ object frmSandbox: TfrmSandbox
       Indent = 33
       TabOrder = 0
       Items.NodeData = {
-        070700000009540054007200650065004E006F00640065002500000000000000
-        00000000FFFFFFFFFFFFFFFF0000000000000000000000000001034F006E0065
-        000000250000000000000000000000FFFFFFFFFFFFFFFF000000000000000000
-        000000000103540077006F000000290000000000000000000000FFFFFFFFFFFF
-        FFFF000000000000000000000000000105540068007200650065000000270000
-        000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000104
-        46006F00750072000000270000000000000000000000FFFFFFFFFFFFFFFF0000
-        0000000000000000000000010446006900760065000000250000000000000000
-        000000FFFFFFFFFFFFFFFF000000000000000000000000000103530069007800
-        0000290000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000
-        000000010553006500760065006E00}
+        070F00000009540054007200650065004E006F00640065002D00000000000000
+        00000000FFFFFFFFFFFFFFFF00000000000000000000000000010742006D0070
+        0046006F006E00740000002B0000000000000000000000FFFFFFFFFFFFFFFF00
+        0000000000000000000000000106430061006D0065007200610000003F000000
+        0000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000011043
+        0061006D0065007200610043006F006E00740072006F006C006C006500720000
+        002D0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000
+        0000010743006F006E0073006F006C00650000002B0000000000000000000000
+        FFFFFFFFFFFFFFFF00000000000000000000000000010643007500720073006F
+        0072000000350000000000000000000000FFFFFFFFFFFFFFFF00000000000000
+        000000000000010B43007500720073006F007200430072006F00730073000000
+        310000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000
+        00010946006F006E00740043006F006C006F00720000002F0000000000000000
+        000000FFFFFFFFFFFFFFFF000000000000000000000000000108470061006D00
+        65004D0065006E0075000000290000000000000000000000FFFFFFFFFFFFFFFF
+        000000000000000000000000000105470069007A006D006F0000002D00000000
+        00000000000000FFFFFFFFFFFFFFFF0000000000000000000000000001074700
+        69007A006D006F004500780000002D0000000000000000000000FFFFFFFFFFFF
+        FFFF000000000000000000000000000107470075006900440065006D006F0000
+        002F0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000
+        000001084700750069005000610069006E00740000002B000000000000000000
+        0000FFFFFFFFFFFFFFFF00000000000000000000000000010648004600500069
+        0063006B000000270000000000000000000000FFFFFFFFFFFFFFFF0000000000
+        000000000000000001045000690063006B0000003F0000000000000000000000
+        FFFFFFFFFFFFFFFF000000000000000000000000000110530069006D0070006C
+        0065004E0061007600690067006100740069006F006E00}
     end
   end
   object PageControl: TPageControl

+ 1 - 1
Examples/Demos/interface/pdInterface.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{395E9506-1E79-45A1-9830-108E116F826E}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 14 - 14
Examples/Demos/materials/fdMaterials.dfm

@@ -58,20 +58,20 @@ object frmMaterials: TfrmMaterials
         FFFFFFFFFF0000000000000000000000000001094D0075006C00740069005000
         6100730073000000370000000800000000000000FFFFFFFFFFFFFFFF00000000
         000000000000000000010C4D0075006C00740069005400650078007400750072
-        0065000000330000000900000000000000FFFFFFFFFFFFFFFF00000000000000
-        000000000000010A4F0062006A006500630074004D0061007400730000003F00
-        00000000000000000000FFFFFFFFFFFFFFFF0000000000000000000000000001
-        10500072006F006300650064007500720061006C0043006C006F007500640073
-        0000002D0000000000000000000000FFFFFFFFFFFFFFFF000000000000000000
-        00000000010754006500780041006E0069006D00000033000000000000000000
-        0000FFFFFFFFFFFFFFFF00000000000000000000000000010A54006500780043
-        006F006D00620069006E0065000000310000000000000000000000FFFFFFFFFF
-        FFFFFF00000000000000000000000000010954006500780046006F0072006D00
-        610074000000370000000000000000000000FFFFFFFFFFFFFFFF000000000000
-        00000000000000010C5400720061006E00730070006100720065006E00630079
-        000000470000000000000000000000FFFFFFFFFFFFFFFF000000000000000000
-        0000000001145400720061006E00730070006100720065006E00630079004100
-        6400760061006E00630065006400}
+        0065000000350000000900000000000000FFFFFFFFFFFFFFFF00000000000000
+        000000000000010B4F0062006A004D006100740065007200690061006C000000
+        3F0000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000
+        000110500072006F006300650064007500720061006C0043006C006F00750064
+        00730000002D0000000000000000000000FFFFFFFFFFFFFFFF00000000000000
+        000000000000010754006500780041006E0069006D0000003300000000000000
+        00000000FFFFFFFFFFFFFFFF00000000000000000000000000010A5400650078
+        0043006F006D00620069006E0065000000310000000000000000000000FFFFFF
+        FFFFFFFFFF00000000000000000000000000010954006500780046006F007200
+        6D00610074000000370000000000000000000000FFFFFFFFFFFFFFFF00000000
+        000000000000000000010C5400720061006E00730070006100720065006E0063
+        0079000000470000000000000000000000FFFFFFFFFFFFFFFF00000000000000
+        00000000000001145400720061006E00730070006100720065006E0063007900
+        41006400760061006E00630065006400}
     end
   end
   object PageControl: TPageControl

+ 1 - 1
Examples/Demos/materials/pdMaterials.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{2BF1DBBA-EC68-4856-9B82-49ABBCC3D68C}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/meshes/pdMeshes.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{B79110DD-D5D5-4DD3-A38E-B8178247D237}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/movements/pdMovements.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{73CC0CD6-9716-4A04-8BD9-D69B4CC9481E}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/physics/pdPhysics.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{994AB6CD-7EC6-42A9-98CE-50950EB1649C}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/rendering/pdRendering.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{5DD7E173-8A33-4267-993F-F26A78E1531B}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/sound/pdSound.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{1C60276E-CBF0-4334-A774-46D0D6A62F47}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 29 - 11
Examples/Demos/specialsFX/fdSpecialsFX.dfm

@@ -41,17 +41,35 @@ object frmSpecialsFX: TfrmSpecialsFX
       Indent = 33
       TabOrder = 0
       Items.NodeData = {
-        070700000009540054007200650065004E006F00640065002500000000000000
-        00000000FFFFFFFFFFFFFFFF0000000000000000000000000001034F006E0065
-        000000250000000000000000000000FFFFFFFFFFFFFFFF000000000000000000
-        000000000103540077006F000000290000000000000000000000FFFFFFFFFFFF
-        FFFF000000000000000000000000000105540068007200650065000000270000
-        000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000104
-        46006F00750072000000270000000000000000000000FFFFFFFFFFFFFFFF0000
-        0000000000000000000000010446006900760065000000250000000000000000
-        000000FFFFFFFFFFFFFFFF000000000000000000000000000103530069007800
-        0000290000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000
-        000000010553006500760065006E00}
+        071000000009540054007200650065004E006F00640065002700000000000000
+        00000000FFFFFFFFFFFFFFFF00000000000000000000000000010442006C0075
+        0072000000370000000000000000000000FFFFFFFFFFFFFFFF00000000000000
+        000000000000010C42006C007500720041006400760061006E00630065006400
+        0000330000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000
+        000000010A430065006C00530068006100640069006E00670000002D00000000
+        00000000000000FFFFFFFFFFFFFFFF0000000000000000000000000001074300
+        75006C006C0069006E0067000000250000000000000000000000FFFFFFFFFFFF
+        FFFF00000000000000000000000000010346006F006700000033000000000000
+        0000000000FFFFFFFFFFFFFFFF00000000000000000000000000010A46007500
+        6C006C00530063007200650065006E000000330000000000000000000000FFFF
+        FFFFFFFFFFFF00000000000000000000000000010A49006E0076006100720069
+        0061006E00630065000000310000000000000000000000FFFFFFFFFFFFFFFF00
+        00000000000000000000000001094D0065006D00560069006500770065007200
+        0000330000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000
+        000000010A4D0075006C0074006900500072006F007800790000003700000000
+        00000000000000FFFFFFFFFFFFFFFF00000000000000000000000000010C4D00
+        75006C0074006900540065007800740075007200650000003700000000000000
+        00000000FFFFFFFFFFFFFFFF00000000000000000000000000010C4F00630074
+        00720065006500520065006E0064006500720000002900000000000000000000
+        00FFFFFFFFFFFFFFFF000000000000000000000000000105500068006F006E00
+        670000003D0000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
+        0000000000010F51007500610064005400720065006500430075006C006C0069
+        006E00670000003D0000000000000000000000FFFFFFFFFFFFFFFF0000000000
+        0000000000000000010F520065006E0064006500720054006F00540065007800
+        740075007200650000002B0000000000000000000000FFFFFFFFFFFFFFFF0000
+        0000000000000000000000010653006B00790042006F00780000002F00000000
+        00000000000000FFFFFFFFFFFFFFFF0000000000000000000000000001085400
+        6F004200690074006D0061007000}
     end
   end
   object PageControl: TPageControl

+ 11 - 2
Examples/Demos/specialsFX/fdSpecialsFX.pas

@@ -3,8 +3,17 @@ unit fdSpecialsFX;
 interface
 
 uses
-  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
-  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls;
+  Winapi.Windows,
+  Winapi.Messages,
+  System.SysUtils,
+  System.Variants,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.Dialogs,
+  Vcl.ComCtrls,
+  Vcl.ExtCtrls;
 
 type
   TfrmSpecialsFX = class(TForm)

+ 1 - 1
Examples/Demos/specialsFX/pdSpecialsFX.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{3ED4CAB0-6684-4721-8B2E-308B0F230E55}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/sprites/pdSprites.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{8914CE54-6F01-428B-888D-81D0770F957B}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 1 - 1
Examples/Demos/utilities/pdUtilities.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{0BB3BBC0-4D48-4E2F-92AD-FA6A1D3B5324}</ProjectGuid>
+        <ProjectGuid>{8D8A6450-4EB2-450A-8A7B-091B407C3F79}</ProjectGuid>
         <ProjectVersion>20.1</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <Base>True</Base>

+ 3 - 1
README.md

@@ -4,8 +4,10 @@ It provides the class library and tools for rendering 3D scenes with spatial obj
 free forms and virtual smart actors.  
 Additional components are being developed for meshing, gridding, 
 lacing with shaders, audio and physics applications.
-
+GLS Team
 ---------------------------
 
 
 
+
+

+ 1 - 0
Source/GLS.Graph.pas

@@ -738,3 +738,4 @@ initialization
 RegisterClasses([TGLHeightField, TGLXYZGrid]);
 
 end.
+

+ 5 - 6
Source/GLS.Material.pas

@@ -1,7 +1,6 @@
 //
 // The graphics engine GLScene https://github.com/glscene
 //
-
 unit GLS.Material;
 
 (* Handles all the material + material library stuff *)
@@ -412,9 +411,9 @@ type
     FName: TGLLibMaterialName;
     FNameHashKey: Integer;
     FTag: Integer;
-	// Used for recursivity protection
-    FNotifying: Boolean; 
-    {implementing IGLMaterialLibrarySupported}
+	  // Used for recursivity protection
+    FNotifying: Boolean;
+    (* implementing IGLMaterialLibrarySupported *)
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
     // Implementing IInterface
     function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
@@ -485,7 +484,7 @@ type
     procedure Assign(Source: TPersistent); override;
     procedure PrepareBuildList;
     procedure Apply(var ARci: TGLRenderContextInfo); override;
-    { Restore non-standard material states that were altered}
+    // Restore non-standard material states that were altered
     function UnApply(var ARci: TGLRenderContextInfo): Boolean; override;
     procedure NotifyUsersOfTexMapChange;
     property TextureMatrix: TGLMatrix read FTextureMatrix write SetTextureMatrix;
@@ -511,7 +510,7 @@ type
        if not supported). *)
     property Texture2Name: TGLLibMaterialName read FTexture2Name write
       SetTexture2Name;
-    {Optionnal shader for the material. }
+    // Optionnal shader for the material.
     property Shader: TGLShader read FShader write SetShader;
   end;