Browse Source

Fixed Imports.ODE.pas line 83 and added demo images

GLScene 4 years ago
parent
commit
241a9d5ad5
88 changed files with 1980 additions and 1188 deletions
  1. 12 3
      AdvDemos/Delphi/Archipelago/Splitter/FSplitterMain.pas
  2. 4 10
      AdvDemos/Delphi/Earth/Earth.dpr
  3. 9 5
      AdvDemos/Delphi/Earth/USolarSystem.pas
  4. 2 2
      AdvDemos/Delphi/GLSViewer/GLSViewer.dproj
  5. 1 1
      Demos/CPP/bench/canvas/Unit1.cpp
  6. 1 0
      Demos/CPP/bench/canvas/Unit1.dfm
  7. 1 0
      Demos/CPP/bench/megacube/Unit1.dfm
  8. 1 1
      Demos/CPP/bench/megaglasscube/Unit1.dfm
  9. 13 13
      Demos/Delphi/behaviours/FpsMovement.dpr
  10. 2 2
      Demos/Delphi/behaviours/Torque.dpr
  11. 125 31
      Demos/Delphi/behaviours/aBehaviours.htm
  12. BIN
      Demos/Delphi/bench/Canvas.jpg
  13. 6 6
      Demos/Delphi/bench/CanvasFm.dfm
  14. 55 58
      Demos/Delphi/bench/CanvasFm.pas
  15. BIN
      Demos/Delphi/bench/MegaGlasscube.jpg
  16. BIN
      Demos/Delphi/bench/Megacube.jpg
  17. BIN
      Demos/Delphi/bench/Smoking.jpg
  18. BIN
      Demos/Delphi/bench/Volcano.jpg
  19. BIN
      Demos/Delphi/bench/Whirlwind.jpg
  20. 140 44
      Demos/Delphi/bench/aBench.htm
  21. 1 6
      Demos/Delphi/cgshaders/CgBombShaderFm.pas
  22. 116 33
      Demos/Delphi/cgshaders/aCgShaders.htm
  23. 183 57
      Demos/Delphi/collisions/aCollisions.htm
  24. BIN
      Demos/Delphi/computing/FastFT.jpg
  25. 2 2
      Demos/Delphi/computing/FluidsFm.dfm
  26. 110 40
      Demos/Delphi/computing/aComputing.htm
  27. 127 42
      Demos/Delphi/extrusion/aExtrusion.htm
  28. BIN
      Demos/Delphi/glslshaders/BumpShader.jpg
  29. BIN
      Demos/Delphi/glslshaders/DiffuseShader.jpg
  30. BIN
      Demos/Delphi/glslshaders/LiningShader.jpg
  31. BIN
      Demos/Delphi/glslshaders/Ocean.jpg
  32. BIN
      Demos/Delphi/glslshaders/PostShader.jpg
  33. BIN
      Demos/Delphi/glslshaders/ShaderComponent.jpg
  34. BIN
      Demos/Delphi/glslshaders/ShadersLab.jpg
  35. BIN
      Demos/Delphi/glslshaders/SkyboxShader.jpg
  36. 163 55
      Demos/Delphi/glslshaders/aGLSLShaders.htm
  37. BIN
      Demos/Delphi/graph/Fxy.jpg
  38. BIN
      Demos/Delphi/graph/HeightField.jpg
  39. BIN
      Demos/Delphi/graph/Points.jpg
  40. BIN
      Demos/Delphi/graph/Projection.jpg
  41. BIN
      Demos/Delphi/graph/Splines.jpg
  42. 124 39
      Demos/Delphi/graph/aGraph.htm
  43. BIN
      Demos/Delphi/interface/Bmpfont.jpg
  44. BIN
      Demos/Delphi/interface/Camera.jpg
  45. BIN
      Demos/Delphi/interface/CameraController.jpg
  46. BIN
      Demos/Delphi/interface/Console.jpg
  47. BIN
      Demos/Delphi/interface/Cursor.jpg
  48. BIN
      Demos/Delphi/interface/Fading.jpg
  49. BIN
      Demos/Delphi/interface/FontColor.jpg
  50. BIN
      Demos/Delphi/interface/GameMenu.jpg
  51. BIN
      Demos/Delphi/interface/Gizmo.jpg
  52. BIN
      Demos/Delphi/interface/GizmoEx.jpg
  53. BIN
      Demos/Delphi/interface/GuiPaint.jpg
  54. BIN
      Demos/Delphi/interface/HFpick.jpg
  55. BIN
      Demos/Delphi/interface/Pick.jpg
  56. 2 2
      Demos/Delphi/interface/SimpleNavigation.dpr
  57. 1 1
      Demos/Delphi/interface/SimpleNavigation.dproj
  58. BIN
      Demos/Delphi/interface/SimpleNavigation.jpg
  59. 1 3
      Demos/Delphi/interface/SimpleNavigationFm.dfm
  60. 3 3
      Demos/Delphi/interface/SimpleNavigationFm.pas
  61. BIN
      Demos/Delphi/interface/Winfont.jpg
  62. 267 114
      Demos/Delphi/interface/aInterface.htm
  63. BIN
      Demos/Delphi/materials/Cubemap.jpg
  64. BIN
      Demos/Delphi/materials/CustomQuad.jpg
  65. BIN
      Demos/Delphi/materials/DynamicTexture.jpg
  66. BIN
      Demos/Delphi/materials/MatScript.jpg
  67. BIN
      Demos/Delphi/materials/Mirror.jpg
  68. BIN
      Demos/Delphi/materials/MultiMaterial.jpg
  69. BIN
      Demos/Delphi/materials/MultiPass.jpg
  70. BIN
      Demos/Delphi/materials/MultiTexture.jpg
  71. BIN
      Demos/Delphi/materials/ProceduralClouds.jpg
  72. BIN
      Demos/Delphi/materials/TexAnim.jpg
  73. BIN
      Demos/Delphi/materials/TexCombine.jpg
  74. BIN
      Demos/Delphi/materials/TexFormat.jpg
  75. BIN
      Demos/Delphi/materials/Transparency.jpg
  76. BIN
      Demos/Delphi/materials/TransparencyAdv.jpg
  77. 243 86
      Demos/Delphi/materials/aMaterials.htm
  78. BIN
      Demos/Delphi/meshes/Actor.jpg
  79. BIN
      Demos/Delphi/meshes/ShadedTerrain.jpg
  80. BIN
      Demos/Delphi/meshes/Tiles.jpg
  81. 261 121
      Demos/Delphi/meshes/aMeshes.htm
  82. 0 276
      Demos/Delphi/specialsFX/SpecialFX.groupproj
  83. 0 126
      Demos/Delphi/specialsFX/specialsFX.htm
  84. 1 4
      Source/GLS.Canvas.pas
  85. 1 0
      Source/GLS.TexLensFlare.pas
  86. 1 0
      Source/GLS.Tree.pas
  87. 0 1
      Source/GLS.VectorGeometry.pas
  88. 1 1
      Source/Imports.ODE.pas

+ 12 - 3
AdvDemos/Delphi/Archipelago/Splitter/FSplitterMain.pas

@@ -1,11 +1,20 @@
+//
+// The graphics rendering engine GLScene http://glscene.org
+//
 unit FSplitterMain;
 unit FSplitterMain;
 
 
 interface
 interface
 
 
 uses
 uses
-  System.SysUtils, System.Classes,
-  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.Jpeg,
-  Vcl.StdCtrls, Vcl.ComCtrls;
+  System.SysUtils,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.Dialogs,
+  Vcl.Imaging.Jpeg,
+  Vcl.StdCtrls,
+  Vcl.ComCtrls;
 
 
 type
 type
   TForm1 = class(TForm)
   TForm1 = class(TForm)

+ 4 - 10
AdvDemos/Delphi/Earth/Earth.dpr

@@ -1,25 +1,19 @@
-{ "Earth" Demo.
-
+(*
+  "Earth"
    See accompanying Readme.txt for user instructions.
    See accompanying Readme.txt for user instructions.
-
    The atmospheric effect is rendered in GLDirectOpenGL1Render, which essentially
    The atmospheric effect is rendered in GLDirectOpenGL1Render, which essentially
    renders a disk, with color of the vertices computed via ray-tracing. Not that
    renders a disk, with color of the vertices computed via ray-tracing. Not that
    the tesselation of the disk has been hand-optimized so as to reduce CPU use
    the tesselation of the disk has been hand-optimized so as to reduce CPU use
    while retaining quality. On anything >1 GHz, the rendering is fill-rate
    while retaining quality. On anything >1 GHz, the rendering is fill-rate
    limited on a GeForce 4 Ti 4200.
    limited on a GeForce 4 Ti 4200.
-
    Stars support is built into the TGLSkyDome, but constellations are rendered
    Stars support is built into the TGLSkyDome, but constellations are rendered
    via a TGLLines, which is filled in the LoadConstellationLines method.
    via a TGLLines, which is filled in the LoadConstellationLines method.
-
-   Eric Grange
-   http://glscene.org
-}
-
+*)
 program Earth;
 program Earth;
 
 
 uses
 uses
   Forms,
   Forms,
-  Unit1 in 'Unit1.pas' {Form1},
+  Unit1 in 'Unit1.pas',
   USolarSystem in 'USolarSystem.pas';
   USolarSystem in 'USolarSystem.pas';
 
 
 {$R *.res}
 {$R *.res}

+ 9 - 5
AdvDemos/Delphi/Earth/USolarSystem.pas

@@ -1,4 +1,9 @@
-{  Solar system planetary elements and positions utility unit.
+//
+// The graphics rendering engine GLScene http://glscene.org
+//
+unit USolarSystem;
+(*
+   Solar system planetary elements and positions utility unit.
 
 
    Based on document by Paul Schlyter (Stockholm, Sweden)
    Based on document by Paul Schlyter (Stockholm, Sweden)
    http://www.stjarnhimlen.se/comp/ppcomp.html
    http://www.stjarnhimlen.se/comp/ppcomp.html
@@ -8,13 +13,12 @@
 
 
    Eric Grange
    Eric Grange
    http://glscene.org
    http://glscene.org
-}
-unit USolarSystem;
-
+*)
 interface
 interface
 
 
 uses
 uses
-  System.SysUtils, System.Math,
+  System.SysUtils,
+  System.Math,
   GLS.VectorGeometry;
   GLS.VectorGeometry;
 
 
 type
 type

+ 2 - 2
AdvDemos/Delphi/GLSViewer/GLSViewer.dproj

@@ -100,14 +100,14 @@
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
         <BT_BuildType>Debug</BT_BuildType>
         <BT_BuildType>Debug</BT_BuildType>
-        <VerInfo_Build>90</VerInfo_Build>
+        <VerInfo_Build>91</VerInfo_Build>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
         <VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
         <VerInfo_MinorVer>8</VerInfo_MinorVer>
         <VerInfo_MinorVer>8</VerInfo_MinorVer>
         <VerInfo_Debug>true</VerInfo_Debug>
         <VerInfo_Debug>true</VerInfo_Debug>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <Icon_MainIcon>Resource\GLSViewer.ico</Icon_MainIcon>
         <Icon_MainIcon>Resource\GLSViewer.ico</Icon_MainIcon>
-        <VerInfo_Keys>CompanyName=;FileVersion=1.8.0.90;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.8.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.8.0.91;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.8.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">

+ 1 - 1
Demos/CPP/bench/canvas/Unit1.cpp

@@ -174,7 +174,7 @@ void TForm1::PaintTheBox()
 {
 {
    int i, x, y;
    int i, x, y;
    TRect r;
    TRect r;
-   Graphics::TBitmap *b;
+   Vcl::Graphics::TBitmap *b;
    //to be fair, use offscreen painting...
    //to be fair, use offscreen painting...
    b = new TBitmap;
    b = new TBitmap;
    b->Width = 256;
    b->Width = 256;

+ 1 - 0
Demos/CPP/bench/canvas/Unit1.dfm

@@ -33,6 +33,7 @@ object Form1: TForm1
     Camera = GLCamera1
     Camera = GLCamera1
     Buffer.Lighting = False
     Buffer.Lighting = False
     FieldOfView = 137.326278686523400000
     FieldOfView = 137.326278686523400000
+    PenAsTouch = False
     TabOrder = 0
     TabOrder = 0
   end
   end
   object Panel1: TPanel
   object Panel1: TPanel

+ 1 - 0
Demos/CPP/bench/megacube/Unit1.dfm

@@ -22,6 +22,7 @@ object Form1: TForm1
     Camera = GLCamera1
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.BackgroundColor = clBlack
     FieldOfView = 152.456802368164100000
     FieldOfView = 152.456802368164100000
+    PenAsTouch = False
     Align = alClient
     Align = alClient
     TabOrder = 0
     TabOrder = 0
   end
   end

+ 1 - 1
Demos/CPP/bench/megaglasscube/Unit1.dfm

@@ -11,7 +11,6 @@ object Form1: TForm1
   Font.Name = 'Tahoma'
   Font.Name = 'Tahoma'
   Font.Style = []
   Font.Style = []
   OldCreateOrder = False
   OldCreateOrder = False
-  WindowState = wsMaximized
   OnCreate = FormCreate
   OnCreate = FormCreate
   PixelsPerInch = 96
   PixelsPerInch = 96
   TextHeight = 13
   TextHeight = 13
@@ -23,6 +22,7 @@ object Form1: TForm1
     Camera = GLCamera1
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.BackgroundColor = clBlack
     FieldOfView = 152.260620117187500000
     FieldOfView = 152.260620117187500000
+    PenAsTouch = False
     Align = alClient
     Align = alClient
     TabOrder = 0
     TabOrder = 0
   end
   end

+ 13 - 13
Demos/Delphi/behaviours/FpsMovement.dpr

@@ -1,16 +1,16 @@
-//******************************************************************************
-//  SphereSweepAndSlide - Initial work by Dan Bartlett
-//  Shows how to use the FPS Movement behaviour
-//----------------------------------------
-//  Controls:
-//    W,A,S,D: Movement
-//    Mouse: Movement
-//    I,J,K,L,O,P: Movement (2nd sphere)
-//    F2, F3: First person, Third person
-//    F5: Toggle wireframe
-//    Space: Move upwards
-//    Esc: Quit
-//******************************************************************************
+(*
+  SphereSweepAndSlide - Initial work by Dan Bartlett
+  Shows how to use the FPS Movement behaviour
+----------------------------------------
+  Controls:
+    W,A,S,D: Movement
+    Mouse: Movement
+    I,J,K,L,O,P: Movement (2nd sphere)
+    F2, F3: First person, Third person
+    F5: Toggle wireframe
+    Space: Move upwards
+    Esc: Quit
+*)
 program FpsMovement;
 program FpsMovement;
 
 
 uses
 uses

+ 2 - 2
Demos/Delphi/behaviours/Torque.dpr

@@ -1,4 +1,4 @@
-{: This is a basic use for TGLBInertia behaviour.
+(* This is a basic use for TGLBInertia behaviour.
 
 
 	There are three objects, which we assign three different dampings, and we
 	There are three objects, which we assign three different dampings, and we
 	apply a torque to the object under the mouse pointer, other are left along
 	apply a torque to the object under the mouse pointer, other are left along
@@ -16,7 +16,7 @@
 	helper function GetOrCreateInertia is a more convenient (and resilient) way,
 	helper function GetOrCreateInertia is a more convenient (and resilient) way,
 	since it will automatically add an inertia behaviour to our object if it
 	since it will automatically add an inertia behaviour to our object if it
 	doesn't have one.
 	doesn't have one.
-}
+*)
 program Torque;
 program Torque;
 
 
 uses
 uses

+ 125 - 31
Demos/Delphi/behaviours/aBehaviours.htm

@@ -1,42 +1,136 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Behaviours demos</title>
 <title>Behaviours demos</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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Behaviours&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="torque.dpr"><b>torque</b></a><b>&nbsp;:</b><ul>
-            <li>using the inertia behaviour for interface
-                animations (Drakan-like effect)</li>
-            <li>accessing behaviours in the code</li>
-        </ul>
-    </li>
-    <li><a href="pathcontrol.dpr"><b>pathcontrol</b></a><b>&nbsp;:</b><ul>
-            <li>using the inertia movement behaviour to move
-                objects along a path</li>
-        </ul>
-    </li>
-    <li><a href="FPSMovement.dpr"><b>FPSMovement</b></a><b>&nbsp;:</b><ul>
-            <li>using the FPSMovement behaviour and manager
-            to simulate FPS-like movement inside freeForm maps</li>
-        </ul>
-    </li>
-
-    <li><a href="DceDemo.dpr"><b>DCEDemo</b></a><b>&nbsp;:</b><ul>
-            <li>This is a basic use for the Dynamic Collision Engine (DCE). A TGLDCEManager, and several TGLBDCEBody behaviours on the objects that should interact.</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Behaviours&nbsp;:</span></b></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="DceDemo.dpr"><b>DCE Demo</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>This is a basic use for the Dynamic
+      Collision Engine (DCE). A TGLDCEManager, and several TGLBDCEBody
+      behaviours on the objects that should interact.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=454 src=DceDemo.jpg></p>
 
 
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="FPSMovement.dpr"><b>FPS Movement</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>using the FPSMovement behaviour and manager
+      to simulate FPS-like movement inside freeForm maps</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=624 height=402 src=FpsMovement.jpg></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="pathcontrol.dpr"><b>Path Control</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>using the inertia movement behaviour to
+      move objects along a path</span></li>
+ </ul>
+</ul>
+
+<p class=MsoPlainText><img border=0 width=624 height=494 src=PathControl.jpg></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal><span lang=FR><a href="torque.dpr"><b>Torque</b></a><b>&nbsp;:</b></span></li>
+ <ul style='margin-top:0cm' type=circle>
+  <li class=MsoNormal><span lang=FR>using the inertia behaviour for interface
+      animations (Drakan-like effect)</span></li>
+  <li class=MsoNormal><span lang=FR>accessing behaviours in the code</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=367 src=Torque.jpg></p>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/bench/Canvas.jpg


+ 6 - 6
Demos/Delphi/bench/CanvasFm.dfm

@@ -20,16 +20,16 @@ object FormCanvas: TFormCanvas
     Width = 256
     Width = 256
     Height = 256
     Height = 256
   end
   end
-  object LAGLCanvas: TLabel
+  object lbGLCanvas: TLabel
     Left = 8
     Left = 8
-    Top = 48
+    Top = 46
     Width = 76
     Width = 76
     Height = 13
     Height = 13
     Caption = 'GLCanvas: N/A'
     Caption = 'GLCanvas: N/A'
   end
   end
-  object LAGDI: TLabel
+  object lbGDI: TLabel
     Left = 272
     Left = 272
-    Top = 48
+    Top = 45
     Width = 45
     Width = 45
     Height = 13
     Height = 13
     Caption = 'GDI: N/A'
     Caption = 'GDI: N/A'
@@ -59,8 +59,8 @@ object FormCanvas: TFormCanvas
     OnClick = BUEllipsesClick
     OnClick = BUEllipsesClick
   end
   end
   object GLSceneViewer: TGLSceneViewer
   object GLSceneViewer: TGLSceneViewer
-    Left = 8
-    Top = 64
+    Left = 10
+    Top = 65
     Width = 256
     Width = 256
     Height = 256
     Height = 256
     Camera = GLCamera1
     Camera = GLCamera1

+ 55 - 58
Demos/Delphi/bench/CanvasFm.pas

@@ -15,13 +15,13 @@ uses
   Vcl.ExtCtrls,
   Vcl.ExtCtrls,
   Vcl.StdCtrls,
   Vcl.StdCtrls,
 
 
-  
+
   GLS.Scene,
   GLS.Scene,
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.BitmapFont,
   GLS.BitmapFont,
   GLS.WindowsFont,
   GLS.WindowsFont,
   GLS.Coordinates,
   GLS.Coordinates,
- 
+
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLS.Canvas,
   GLS.Canvas,
   GLS.Texture,
   GLS.Texture,
@@ -34,8 +34,8 @@ type
     BUEllipses: TButton;
     BUEllipses: TButton;
     GLSceneViewer: TGLSceneViewer;
     GLSceneViewer: TGLSceneViewer;
     PaintBox: TPaintBox;
     PaintBox: TPaintBox;
-    LAGLCanvas: TLabel;
-    LAGDI: TLabel;
+    lbGLCanvas: TLabel;
+    lbGDI: TLabel;
     Bevel1: TBevel;
     Bevel1: TBevel;
     GLScene1: TGLScene;
     GLScene1: TGLScene;
     GLCamera1: TGLCamera;
     GLCamera1: TGLCamera;
@@ -55,11 +55,11 @@ type
       var rci: TGLRenderContextInfo);
       var rci: TGLRenderContextInfo);
     procedure BUArcClick(Sender: TObject);
     procedure BUArcClick(Sender: TObject);
   private
   private
-     
+
     procedure PaintTheBox;
     procedure PaintTheBox;
     procedure Bench;
     procedure Bench;
   public
   public
-     
+
   end;
   end;
 
 
 var
 var
@@ -134,7 +134,7 @@ begin
 
 
   t := StartPrecisionTimer;
   t := StartPrecisionTimer;
   GLSceneViewer.Refresh;
   GLSceneViewer.Refresh;
-  LAGLCanvas.Caption := Format('GLCanvas: %.2f msec',
+  lbGLCanvas.Caption := Format('GLCanvas: %.2f msec',
     [StopPrecisionTimer(t) * 1000]);
     [StopPrecisionTimer(t) * 1000]);
 
 
   Application.ProcessMessages;
   Application.ProcessMessages;
@@ -142,74 +142,71 @@ begin
 
 
   t := StartPrecisionTimer;
   t := StartPrecisionTimer;
   PaintTheBox;
   PaintTheBox;
-  LAGDI.Caption := Format('GDI: %.1f msec', [StopPrecisionTimer(t) * 1000]);
+  lbGDI.Caption := Format('GDI: %.1f msec', [StopPrecisionTimer(t) * 1000]);
 end;
 end;
 
 
 procedure TFormCanvas.GLDirectOpenGL1Render(Sender: TObject;
 procedure TFormCanvas.GLDirectOpenGL1Render(Sender: TObject;
   var rci: TGLRenderContextInfo);
   var rci: TGLRenderContextInfo);
 var
 var
   i, x, y: Integer;
   i, x, y: Integer;
-  glc: TGLCanvas;
+  GLCanvas: TGLCanvas;
   r: TRect;
   r: TRect;
-  color: TColor;
+  Color: TColor;
 begin
 begin
-  glc := TGLCanvas.Create(256, 256);
-  with glc do
-  begin
-    PenWidth := vPenWidth;
-    case vWhat of
-      wLines:
+  GLCanvas := TGLCanvas.Create(256, 256);
+  GLCanvas.PenWidth := vPenWidth;
+  case vWhat of
+    wLines:
+      begin
+        for i := 1 to cNbLines do
         begin
         begin
-          for i := 1 to cNbLines do
-          begin
-            PenColor := Random(256 * 256 * 256);
-            MoveTo(Random(256), Random(256));
-            LineTo(Random(256), Random(256));
-          end;
+          GLCanvas.PenColor := Random(256 * 256 * 256);
+          GLCanvas.MoveTo(Random(256), Random(256)); // first point
+          GLCanvas.LineTo(Random(256), Random(256)); // second point
         end;
         end;
-      wEllipses:
-        for i := 1 to cNbEllipses do
+      end;
+    wEllipses:
+      for i := 1 to cNbEllipses do
+      begin
+        GLCanvas.PenColor := Random(256 * 256 * 256);
+        GLCanvas.EllipseBB(Random(256), Random(256), Random(256), Random(256));
+      end;
+    wRects:
+      for i := 1 to cNbRects do
+      begin
+        GLCanvas.PenColor := Random(256 * 256 * 256);
+        r := Rect(Random(256), Random(256), Random(256), Random(256));
+        GLCanvas.FillRect(r.Left, r.Top, r.Right, r.Bottom);
+      end;
+    wPoints:
+      begin
+        for i := 1 to cNbPoints do
         begin
         begin
-          PenColor := Random(256 * 256 * 256);
-          EllipseBB(Random(256), Random(256), Random(256), Random(256));
+          GLCanvas.PenColor := Random(256 * 256 * 256);
+          GLCanvas.PlotPixel(Random(256), Random(256));
         end;
         end;
-      wRects:
-        for i := 1 to cNbRects do
+      end;
+    wTextOut:
+      begin
+        for i := 1 to cNbTextOuts do
         begin
         begin
-          PenColor := Random(256 * 256 * 256);
-          r := Rect(Random(256), Random(256), Random(256), Random(256));
-          FillRect(r.Left, r.Top, r.Right, r.Bottom);
+          Color := Random(256 * 256 * 256);
+          x := Random(256);
+          y := Random(256);
+          WindowsBitmapFont.TextOut(rci, x, y, 'Hello', Color);
         end;
         end;
-      wPoints:
-        begin
-          for i := 1 to cNbPoints do
-          begin
-            PenColor := Random(256 * 256 * 256);
-            PlotPixel(Random(256), Random(256));
-          end;
-        end;
-      wTextOut:
-        begin
-          for i := 1 to cNbTextOuts do
-          begin
-            color := Random(256 * 256 * 256);
-            x := Random(256);
-            y := Random(256);
-            WindowsBitmapFont.TextOut(rci, x, y, 'Hello', color);
-          end;
-        end;
-      wArcs:
+      end;
+    wArcs:
+      begin
+        for i := 1 to cNbEllipses do
         begin
         begin
-          for i := 1 to cNbEllipses do
-          begin
-            PenColor := Random(256 * 256 * 256);
-            Arc(Random(256), Random(256), Random(256), Random(256), Random(256),
-              Random(256), Random(256), Random(256))
-          end;
+          GLCanvas.PenColor := Random(256 * 256 * 256);
+          GLCanvas.Arc(Random(256), Random(256), Random(256), Random(256),
+            Random(256), Random(256), Random(256), Random(256))
         end;
         end;
-    end;
+      end;
   end;
   end;
-  glc.Free;
+  GLCanvas.Free;
 end;
 end;
 
 
 procedure TFormCanvas.PaintTheBox;
 procedure TFormCanvas.PaintTheBox;

BIN
Demos/Delphi/bench/MegaGlasscube.jpg


BIN
Demos/Delphi/bench/Megacube.jpg


BIN
Demos/Delphi/bench/Smoking.jpg


BIN
Demos/Delphi/bench/Volcano.jpg


BIN
Demos/Delphi/bench/Whirlwind.jpg


+ 140 - 44
Demos/Delphi/bench/aBench.htm

@@ -1,54 +1,150 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Benchmarks</title>
 <title>Benchmarks</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Benchmarks&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="megacube.dpr"><b>megacube</b></a><b>&nbsp;:</b><ul>
-            <li>a high number of shaded cubes arranged in a cubic
-                array</li>
-            <li>allows benchmarking raw geometrical and T&amp;L
-                power (no texturing here)</li>
-        </ul>
-    </li>
-    <li><a href="megaglasscube.dpr"><b>megaglasscube</b></a><b>&nbsp;:</b><ul>
-            <li>a high number of shaded transparent cubes arranged in a cubic
-                array</li>
-            <li>same use as megacube but with emphasis on transparency and depth sorting</li>
-        </ul>
-    </li>
-    <li><a href="volcano.dpr"><b>volcano</b></a><b>&nbsp;:</b><ul>
-            <li>volcano-like particle systems using ParticleFX</li>
-            <li>benchmarking of PFX and depth sorting (PFX is a scene-wide blended particles system)</li>
-        </ul>
-    </li>
-    <li><a href="smoking.dpr"><b>smoking</b></a><b>&nbsp;:</b><ul>
-            <li>several heavily smoking fire PFXs</li>
-            <li>benchmarking of PFX sprites, depth sorting and intertwined additive/transparently blended PFXs</li>
-        </ul>
-    </li>
-    <li><a href="whirlwind.dpr"><b>whirlwind</b></a><b>&nbsp;:</b><ul>
-            <li>a whirlwind-shaped particle systems (via TGLParticles, looks ugly)</li>
-            <li>allows benchmarking particle systems and GLScene
-                object management (not even shading is used here)</li>
-        </ul>
-    </li>
-    <li><a href="canvas.dpr"><b>canvas</b></a><b>&nbsp;:</b><ul>
-            <li>drawing 2D with TGLCanvas in a scene viewer</li>
-            <li>allows benchmarking TGLCanvas performance vs GDI (hardware-acceleration on both sides if available)</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Benchmarks&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="canvas.dpr"><b>canvas</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>drawing 2D with TGLCanvas in a scene viewer</span></li>
+  <li class=MsoNormal><span lang=FR>allows benchmarking TGLCanvas performance
+      vs GDI (hardware-acceleration on both sides if available)</span></li>
+ </ul>
+</ul>
+
+<p class=MsoPlainText><b><span style='font-size:13.5pt;font-family:"Courier New"'><img
+border=0 width=504 height=333 src=Canvas.jpg></span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="megacube.dpr"><b>megacube</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>a high number of shaded cubes arranged in a
+      cubic array</span></li>
+  <li class=MsoNormal><span lang=FR>allows benchmarking raw geometrical and
+      T&amp;L power (no texturing here)</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=446 height=363 src=Megacube.jpg></p>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="megaglasscube.dpr"><b>megaglasscube</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>a high number of shaded transparent cubes
+      arranged in a cubic array</span></li>
+  <li class=MsoNormal><span lang=FR>same use as megacube but with emphasis on
+      transparency and depth sorting</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=472 height=368 src=MegaGlasscube.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="volcano.dpr"><b>volcano</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>volcano-like particle systems using
+      ParticleFX</span></li>
+  <li class=MsoNormal><span lang=FR>benchmarking of PFX and depth sorting (PFX
+      is a scene-wide blended particles system)</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=432 height=325 src=Volcano.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="smoking.dpr"><b>smoking</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>several heavily smoking fire PFXs</span></li>
+  <li class=MsoNormal><span lang=FR>benchmarking of PFX sprites, depth sorting
+      and intertwined additive/transparently blended PFXs</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=464 height=361 src=Smoking.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="whirlwind.dpr"><b>whirlwind</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>a whirlwind-shaped particle systems (via
+      TGLParticles, looks ugly)</span></li>
+  <li class=MsoNormal><span lang=FR>allows benchmarking particle systems and
+      GLScene object management (not even shading is used here)</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=387 height=287 src=Whirlwind.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

+ 1 - 6
Demos/Delphi/cgshaders/CgBombShaderFm.pas

@@ -30,10 +30,7 @@ uses
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLS.Utils,
   GLS.Utils,
 
 
-  // Formats
   GLS.FileMD2,
   GLS.FileMD2,
-
-
   Cg.BombShader;
   Cg.BombShader;
 
 
 type
 type
@@ -87,15 +84,13 @@ type
     procedure TrackBar9Change(Sender: TObject);
     procedure TrackBar9Change(Sender: TObject);
     procedure TrackBar1Change(Sender: TObject);
     procedure TrackBar1Change(Sender: TObject);
   private
   private
-     
   public
   public
-     
     mx, my: Integer;
     mx, my: Integer;
     procedure ResetPositions;
     procedure ResetPositions;
   end;
   end;
 
 
 var
 var
-  FormCgBombShader:    TFormCgBombShader;
+  FormCgBombShader: TFormCgBombShader;
   MyShader: TCgBombShader;
   MyShader: TCgBombShader;
 
 
 implementation
 implementation

+ 116 - 33
Demos/Delphi/cgshaders/aCgShaders.htm

@@ -1,42 +1,125 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Behaviours demos</title>
 <title>Behaviours demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>CgShaders&nbsp;:</b></font></p>
-
-<ul>
-    <li><b><a href="CgSimple.dpr">CgSimple</a>&nbsp;:</b><ul>
-            <li>applying vertex and fragment shaders on mesh object</li>
-            <li>editing and compiling shader code at run-time</li>
-            <li>displaying paramters and compilations</li>
-            <li>using TGLCgShader methods vs. plain Cg API to set shader 
-            parameters</li>
-        </ul>
-    </li>
-    <li><b><a href="CgTexture.dpr">CgTexture</a>&nbsp;:</b><ul>
-            <li>using textures loaded in a material library</li>
-            <li>interactive controls on shader parameters</li>
-        </ul>
-    </li>
-    <li><b><a href="CgCellShading.dpr">CgCellShading</a>&nbsp;:</b><ul>
-            <li>Simple cell shading with CgShaders</li>
-            <li>non-interactive shader parameters determine cell generation</li>
-        </ul>
-    </li>
-    <li><b><a href="CgBombShader.dpr">CgBombShader</a>&nbsp;:</b><ul>
-            <li>demonstrates how to use the TGLCgBombShader component</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>CgShaders&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><b><span lang=FR><a href="CgBombShader.dpr">CgBombShader</a>&nbsp;:</span></b></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>demonstrates how to use the TGLCgBombShader
+      component</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=499 src=CgBombShader.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><b><span lang=FR><a href="CgCellShading.dpr">CgCellShading</a>&nbsp;:</span></b></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Simple cell shading with CgShaders</span></li>
+  <li class=MsoNormal><span lang=FR>non-interactive shader parameters determine
+      cell generation</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=434 src=CgCellShader.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><b><span lang=FR><a href="CgSimple.dpr">CgSimple</a>&nbsp;:</span></b></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>applying vertex and fragment shaders on
+      mesh object</span></li>
+  <li class=MsoNormal><span lang=FR>editing and compiling shader code at
+      run-time</span></li>
+  <li class=MsoNormal><span lang=FR>displaying paramters and compilations</span></li>
+  <li class=MsoNormal><span lang=FR>using TGLCgShader methods vs. plain Cg API
+      to set shader parameters</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=391 src=CgSimple.jpg></p>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><b><span lang=FR><a href="CgTexture.dpr">CgTexture</a>&nbsp;:</span></b></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using textures loaded in a material library</span></li>
+  <li class=MsoNormal><span lang=FR>interactive controls on shader parameters</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="../demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=624 height=389 src=CgTexture.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
-</html>
+
+</html>

+ 183 - 57
Demos/Delphi/collisions/aCollisions.htm

@@ -1,67 +1,193 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Collisions demos</title>
 <title>Collisions demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Collisions&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="Boxedin.dpr"><b>Bboxedin</b></a><b>&nbsp;:</b><ul>
-            <li>sphere bouncing inside a 3DS object</li>
-            <li>sphere collision detection with a complex (high poly) mesh</li>
-            <li>using the octree to speed up collision detection</li>
-        </ul>
-    </li>
-    <li><a href="BoxSphere.dpr"><b>BoxSphere</b></a><b>&nbsp;:</b><ul>
-            <li>testing for collisions between a box and a sphere</li>
-        </ul>
-    </li>
-    <li><a href="FacevsFace.dpr"><b>FacevsFace</b></a><b>&nbsp;:</b><ul>
-            <li>accurate face vs face collision detection between freeforms</li>
-            <li>accurate collision detection between cubes (test case)</li>
-            <li>moving objects in 3D with the mouse</li>
-        </ul>
-    </li>
-    <li><a href="MeshHit.dpr"><b>meshhit</b></a><b>&nbsp;:</b><ul>
-            <li>basic raycast collision with a mesh</li>
-            <li>finding mesh surface point and normal below mouse</li>
-        </ul>
-    </li>
-    <li><a href="OcclusionQuery.dpr"><b>occlusionquery</b></a><b>&nbsp;:</b><ul>
-            <li>simple demo showing how to use an occlusion query to see if an object is visible</li>
-        </ul>
-    </li>
-    <li><a href="Octreedemo.dpr"><b>Octree demo</b></a><b>&nbsp;:</b><ul>
-            <li>raycast collision with a complex (high poly) mesh</li>
-            <li>using the octree to speed up collision detection</li>
-        </ul>
-    </li>
-    <li><a href="RayBox.dpr"><b>Raybox</b></a><b>&nbsp;:</b><ul>
-            <li>testing for collisions between a ray and a box</li>
-        </ul>
-    </li>
-    <li><a href="RayCast.dpr"><b>RayCast</b></a><b>&nbsp;:</b><ul>
-            <li>raycasting intersection sample (RayCastIntersect function)</li>
-            <li>a two-cents worth raytracer</li>
-        </ul>
-    </li>
-    <li><a href="Sphere.dpr"><b>Sphere</b></a><b>&nbsp;:</b><ul>
-            <li>ultra-basic collision detection sample</li>
-        </ul>
-    </li>
-    <li><a href="TriangleBox/TriangleBox.dpr"><b>trianglebox</b></a><b>&nbsp;:</b><ul>
-            <li>testing for collisions between a triangle and a box</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Collisions&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Boxedin.dpr"><b>Bboxedin</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>sphere bouncing inside a 3DS object</span></li>
+  <li class=MsoNormal><span lang=FR>sphere collision detection with a complex
+      (high poly) mesh</span></li>
+  <li class=MsoNormal><span lang=FR>using the octree to speed up collision
+      detection</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=498 src=Boxedin.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="BoxSphere.dpr"><b>BoxSphere</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>testing for collisions between a box and a
+      sphere</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=491 src=BoxSphere.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="FacevsFace.dpr"><b>FacevsFace</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>accurate face vs face collision detection
+      between freeforms</span></li>
+  <li class=MsoNormal><span lang=FR>accurate collision detection between cubes
+      (test case)</span></li>
+  <li class=MsoNormal><span lang=FR>moving objects in 3D with the mouse</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=624 height=483 src=FacevsFace.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="MeshHit.dpr"><b>Meshhit</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>basic raycast collision with a mesh</span></li>
+  <li class=MsoNormal><span lang=FR>finding mesh surface point and normal below
+      mouse</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=353 src=MeshHit.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="OcclusionQuery.dpr"><b>OcclusionQuery</b></a><b>&nbsp;:</b></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>simple demo showing how to use an occlusion
+      query to see if an object is visible</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=373 src=OcclusionQuery.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Octreedemo.dpr"><b>Octree demo</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>raycast collision with a complex (high
+      poly) mesh</span></li>
+  <li class=MsoNormal><span lang=FR>using the octree to speed up collision
+      detection</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=467 src=OctreeDemo.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="RayBox.dpr"><b>Raybox</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>testing for collisions between a ray and a
+      box</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=477 src=RayBox.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="RayCast.dpr"><b>RayCast</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>raycasting intersection sample
+      (RayCastIntersect function)</span></li>
+  <li class=MsoNormal><span lang=FR>a two-cents worth raytracer</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=351 src=RayCast.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Sphere.dpr"><b>Sphere</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>ultra-basic collision detection sample</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=565 height=437 src=Sphere.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="TriangleBox/TriangleBox.dpr"><b>Trianglebox</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>testing for collisions between a triangle
+      and a box</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<p class=MsoNormal><img border=0 width=624 height=412 src=TriangleBox.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/computing/FastFT.jpg


+ 2 - 2
Demos/Delphi/computing/FluidsFm.dfm

@@ -1112,8 +1112,8 @@ object Form1: TForm1
     end
     end
   end
   end
   object GLCUDACompiler1: TGLCUDACompiler
   object GLCUDACompiler1: TGLCUDACompiler
-    NVCCPath = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\\bin\'
-    CppCompilerPath = 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\'
+    NVCCPath = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\bin\'
+    CppCompilerPath = 'C:\Program Files (x86)\Microsoft Visual Studio 2019\VC\bin\'
     ProjectModule = 'Fluids kernels.cu'
     ProjectModule = 'Fluids kernels.cu'
     Left = 448
     Left = 448
     Top = 160
     Top = 160

+ 110 - 40
Demos/Delphi/computing/aComputing.htm

@@ -1,50 +1,120 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Computing demos</title>
 <title>Computing demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Collisions&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="FastFT.dpr"><b>FastFT</b></a><b>&nbsp;:</b><ul>
-            <li>Fast Fourier Transformation for 1d/2d signals</li>
-            <li>with a complex (high poly) mesh</li>
-            <li>using the octree to speed up collision detection</li>
-        </ul>
-    </li>
-    <li><a href="Fluids.dpr"><b>Fluids</b></a><b>&nbsp;:</b><ul>
-            <li>testing for fluids</li>
-        </ul>
-    </li>
-    <li><a href="PostProcessing.dpr"><b>PostProcessing</b></a><b>&nbsp;:</b><ul>
-            <li>accurate calculation for</li>
-            <li>cubes (test case)</li>
-            <li>moving objects in 3D with the mouse</li>
-        </ul>
-    </li>
-    <li><a href="ScalarProduct.dpr"><b>ScalarProduct</b></a><b>&nbsp;:</b><ul>
-            <li>basic scalar product</li>
-            <li>finding mesh surface point and normal below mouse</li>
-        </ul>
-    </li>
-    <li><a href="SimpleTexture.dpr"><b>SimpleTexture</b></a><b>&nbsp;:</b><ul>
-            <li>simple demo showing how to use textures in GPU computations</li>
-        </ul>
-    </li>
-    <li><a href="VertexGeneration.dpr"><b>VertexGeneration</b></a><b>&nbsp;:</b><ul>
-            <li>vertex generation to get high poly mesh</li>
-            <li>using the octree to speed up GPU computations</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Collisions&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="FastFT.dpr"><b>FastFT</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Fast Fourier Transformation for 1d/2d
+      signals</span></li>
+  <li class=MsoNormal><span lang=FR>with a complex (high poly) mesh</span></li>
+  <li class=MsoNormal><span lang=FR>using the octree to speed up collision
+      detection</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=317 src=FastFT.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Fluids.dpr"><b>Fluids</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>testing for fluids</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="PostProcessing.dpr"><b>PostProcessing</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>accurate calculation for</span></li>
+  <li class=MsoNormal><span lang=FR>cubes (test case)</span></li>
+  <li class=MsoNormal><span lang=FR>moving objects in 3D with the mouse</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="ScalarProduct.dpr"><b>ScalarProduct</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>basic scalar product</span></li>
+  <li class=MsoNormal><span lang=FR>finding mesh surface point and normal below
+      mouse</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="SimpleTexture.dpr"><b>SimpleTexture</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>simple demo showing how to use textures in
+      GPU computations</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="VertexGeneration.dpr"><b>VertexGeneration</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>vertex generation to get high poly mesh</span></li>
+  <li class=MsoNormal><span lang=FR>using the octree to speed up GPU
+      computations</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

+ 127 - 42
Demos/Delphi/extrusion/aExtrusion.htm

@@ -1,52 +1,137 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Extrusion demos</title>
 <title>Extrusion demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Extrusion&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="NutsnBolts.dpr"><b>NutsnBolts</b></a><b>&nbsp;:</b><ul>
-            <li>a no-code, design-time only sample rendering of a
-                nut and accompanying bolt</li>
-            <li>uses TRevolutionSolid, TCylinder and TAnnulus to
-                build both items</li>
-        </ul>
-    </li>
-    <li><a href="Pawn.dpr"><b>Pawn</b></a><b>&nbsp;:</b><ul>
-            <li>basic TRevolutionSolid use to make a wood-textured
-                pawn-like object</li>
-            <li>various interactive controls to check the effects
-                of various properties on visual aspect</li>
-        </ul>
-    </li>
-    <li><a href="BendingCyl.dpr"><b>BendingCyl</b></a><b>&nbsp;:</b><ul>
-            <li>uses TPipe, the circle extrusion component</li>
-            <li>a bending cylinder getting fat/slim</li>
-        </ul>
-    </li>
-    <li><a href="CutoutStar.dpr"><strong>CutoutStar</strong></a>
-        :<ul>
-            <li>using TExtrusionSolid to render an extruded
-                object</li>
-            <li>cutting out parts in a TExtrusionSolid (or
-                TMultiPolygon)</li>
-        </ul>
-    </li>
-    <li><a href="Tentacles.dpr"><b>Tentacles</b></a> :<ul>
-            <li>using TPipe for weirdo tentacles effects, per-node coloring</li>
-            <li>adjusting ObjectStyle to speed up rendering of constantly changing geometry</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Extrusion&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="BendingCyl.dpr"><b>BendingCyl</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>uses TPipe, the circle extrusion component</span></li>
+  <li class=MsoNormal><span lang=FR>a bending cylinder getting fat/slim</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=475 src=BendingCyl.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="CutoutStar.dpr"><strong>CutoutStar</strong></a>
+     :</span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using TExtrusionSolid to render an extruded
+      object</span></li>
+  <li class=MsoNormal><span lang=FR>cutting out parts in a TExtrusionSolid (or
+      TMultiPolygon)</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=498 src=CutoutStar.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="NutsnBolts.dpr"><b>NutsnBolts</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>a no-code, design-time only sample
+      rendering of a nut and accompanying bolt</span></li>
+  <li class=MsoNormal><span lang=FR>uses TRevolutionSolid, TCylinder and
+      TAnnulus to build both items</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=624 height=494 src=NutsnBolts.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Pawn.dpr"><b>Pawn</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>basic TRevolutionSolid use to make a
+      wood-textured pawn-like object</span></li>
+  <li class=MsoNormal><span lang=FR>various interactive controls to check the
+      effects of various properties on visual aspect</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=506 src=Pawn.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Tentacles.dpr"><b>Tentacles</b></a>
+     :</span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using TPipe for weirdo tentacles effects,
+      per-node coloring</span></li>
+  <li class=MsoNormal><span lang=FR>adjusting ObjectStyle to speed up rendering
+      of constantly changing geometry</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=577 height=445 src=Tentacles.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/glslshaders/BumpShader.jpg


BIN
Demos/Delphi/glslshaders/DiffuseShader.jpg


BIN
Demos/Delphi/glslshaders/LiningShader.jpg


BIN
Demos/Delphi/glslshaders/Ocean.jpg


BIN
Demos/Delphi/glslshaders/PostShader.jpg


BIN
Demos/Delphi/glslshaders/ShaderComponent.jpg


BIN
Demos/Delphi/glslshaders/ShadersLab.jpg


BIN
Demos/Delphi/glslshaders/SkyboxShader.jpg


+ 163 - 55
Demos/Delphi/glslshaders/aGLSLShaders.htm

@@ -1,65 +1,173 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Glsl shaders demo(s)</title>
 <title>Glsl shaders demo(s)</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Glsl shaders demo(s)&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="Ocean.dpr"><b>Ocean</b></a><b>&nbsp;:</b><ul>
-            <li>GLSL shader ocean. YES. real ocean waves. </li>
-            <li>requires a GLSL capable card</li>
-        </ul>
-    </li>
-    <li><a href="Bumpshader.dpr"><b>Bump shader</b></a><b>&nbsp;:</b><ul>
-            <li>GLSL bump shader.</li>
-            <li>requires a GLSL capable card</li>
-        </ul>
-    </li>
-    <li><a href="DiffuseSpecularShader.dpr"><b>Diffuse specular shader</b></a><b>&nbsp;:</b><ul>
-            <li>GLSL diffuse specular shader.</li>
-            <li>requires a GLSL capable card</li>
-        </ul>
-    </li>
-    <li><a href="ShaderComponent.dpr"><b>GLSL shader component</b></a><b>&nbsp;:</b><ul>
-            <li>demonstrates TGLSLShader, the GLSL shader component.</li>
-            <li>can include your own GLSL shaders</li>
-            <li>requires a GLSL capable card</li>
-        </ul>
-    </li>
-    <li><a href="PostShader.dpr"><b>PostShader</b></a><b>&nbsp;:</b><ul>
-            <li>GLSL post shaders.</li>
-            <li>requires a GLSL capable card</li>
-            <li>requires CG</li>
-        </ul>
-    </li>
-		<li><a href="ShadersLab.dpr"><b>ShadersLab</b></a><b>&nbsp;:</b><ul>
-            <li>Shaders Lab.</li>
-            <li>requires a GLSL capable card (Opengl 2.0 min required)</li>
-            <li>demonstrates the use of 9 custom GLSL Shader
-								<ul>
-										<li>TGLSLFurShader : Simulate Fur, Hair, Grass</li>
-										<li>TGLSLLatticeShader : Simulate Grid</li>
-										<li>TGLSLErosionShader : Erode surface of an object</li>
-										<li>TGLSLIvoryShader : Simulate Ivory material</li>
-										<li>TGLSLGoochShader : Gooch Rendering</li>
-										<li>TGLSLSemShader : Spherical Environment Mapping</li>
-										<li>TGLSLVertexDisplacementShader : Displace vertices of an object</li>
-										<li>TGLSLGlassShader : Glass Rendering with Fresnel term and refraction </li>										
-										<li>TGLSLToonShader : Cell/Toon Rendering</li>
-								</ul>
-						</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Glsl shaders demo(s)&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Bumpshader.dpr"><b>Bump shader</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>GLSL bump shader.</span></li>
+  <li class=MsoNormal><span lang=FR>requires a GLSL capable card</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=454 src=BumpShader.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="DiffuseSpecularShader.dpr"><b>Diffuse
+     specular shader</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>GLSL diffuse specular shader.</span></li>
+  <li class=MsoNormal><span lang=FR>requires a GLSL capable card</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=624 height=466 src=DiffuseShader.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="ShaderComponent.dpr"><b>GLSL shader
+     component</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>demonstrates TGLSLShader, the GLSL shader
+      component.</span></li>
+  <li class=MsoNormal><span lang=FR>can include your own GLSL shaders</span></li>
+  <li class=MsoNormal><span lang=FR>requires a GLSL capable card</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=451 src=ShaderComponent.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Ocean.dpr"><b>Ocean</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>GLSL shader ocean. Yes, it’s almost real
+      ocean waves. </span></li>
+  <li class=MsoNormal><span lang=FR>requires a GLSL capable card</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=479 src=Ocean.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="PostShader.dpr"><b>PostShader</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>GLSL post shaders.</span></li>
+  <li class=MsoNormal><span lang=FR>requires a GLSL capable card</span></li>
+  <li class=MsoNormal><span lang=FR>requires CG</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=485 src=PostShader.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="ShadersLab.dpr"><b>ShadersLab</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Shaders Lab.</span></li>
+  <li class=MsoNormal><span lang=FR>requires a GLSL capable card (Opengl 2.0
+      min required)</span></li>
+  <li class=MsoNormal><span lang=FR>demonstrates the use of 9 custom GLSL
+      Shader </span></li>
+  <ul type=square>
+   <li class=MsoNormal><span lang=FR>TGLSLFurShader : Simulate Fur, Hair, Grass</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLLatticeShader : Simulate Grid</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLErosionShader : Erode surface of an
+       object</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLIvoryShader : Simulate Ivory material</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLGoochShader : Gooch Rendering</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLSemShader : Spherical Environment
+       Mapping</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLVertexDisplacementShader : Displace
+       vertices of an object</span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLGlassShader : Glass Rendering with
+       Fresnel term and refraction </span></li>
+   <li class=MsoNormal><span lang=FR>TGLSLToonShader : Cell/Toon Rendering</span></li>
+  </ul>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=473 src=ShadersLab.jpg></p>
+
+<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="SkyboxShader.dpr"><b>SkyboxShader</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>GLSL skybox shader. </span></li>
+  <li class=MsoNormal><span lang=FR>There are a sphere and thor with cubemaps.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=533 height=403 src=SkyboxShader.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/graph/Fxy.jpg


BIN
Demos/Delphi/graph/HeightField.jpg


BIN
Demos/Delphi/graph/Points.jpg


BIN
Demos/Delphi/graph/Projection.jpg


BIN
Demos/Delphi/graph/Splines.jpg


+ 124 - 39
Demos/Delphi/graph/aGraph.htm

@@ -1,49 +1,134 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Graphs demos</title>
 <title>Graphs demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Graph&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="Fxy.dpr"><b>Fxy</b></a><b>&nbsp;:</b><ul>
-            <li>plotting a z=f(x, y) function using TGLHeightField</li>
-            <li>using TXYZGrid as graph grid</li>
-        </ul>
-    </li>
-    <li><a href="Heightfield.dpr"><b>Height Field</b></a><b>&nbsp;:</b><ul>
-            <li>more advanced uses for TGLHeightField (resolution
-                changes, color, lighting...)</li>
-            <li>using TGLHeightField to plot a dynamic f(x, y)
-                function</li>
-        </ul>
-    </li>
-    <li><a href="Splines.dpr"><b>Splines</b></a><b>&nbsp;:</b><ul>
-            <li>basic spline use with color interpolation</li>
-            <li>using the camera in orthogonal mode for rendering
-                2D graphs</li>
-        </ul>
-    </li>
-    <li><a href="Points.dpr"><b>Points</b></a><b>&nbsp;:</b><ul>
-            <li>rendering clouds of points with TGLPoints</li>
-            <li>point paramaters</li>
-        </ul>
-    </li>
-    <li><a href="Projection.dpr"><b>Projection</b></a><b>&nbsp;:</b><ul>
-            <li>connecting graph points to their projection plane</li>
-            <li>using parallel projection matrices</li>
-            <li>blending direct OpenGL with other scene objects</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Graph&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Fxy.dpr"><b>Fxy</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>plotting a z=f(x, y) function using
+      TGLHeightField</span></li>
+  <li class=MsoNormal><span lang=FR>using TXYZGrid as graph grid</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=481 src=Fxy.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Heightfield.dpr"><b>Height Field</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>more advanced uses for TGLHeightField
+      (resolution changes, color, lighting...)</span></li>
+  <li class=MsoNormal><span lang=FR>using TGLHeightField to plot a dynamic f(x,
+      y) function</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=419 src=HeightField.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Splines.dpr"><b>Splines</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>basic spline use with color interpolation</span></li>
+  <li class=MsoNormal><span lang=FR>using the camera in orthogonal mode for
+      rendering 2D graphs</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=624 height=516 src=Splines.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Points.dpr"><b>Points</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>rendering clouds of points with TGLPoints</span></li>
+  <li class=MsoNormal><span lang=FR>point paramaters</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=514 src=Points.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Projection.dpr"><b>Projection</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>connecting graph points to their projection
+      plane</span></li>
+  <li class=MsoNormal><span lang=FR>using parallel projection matrices</span></li>
+  <li class=MsoNormal><span lang=FR>blending direct OpenGL with other scene
+      objects</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=506 src=Projection.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/interface/Bmpfont.jpg


BIN
Demos/Delphi/interface/Camera.jpg


BIN
Demos/Delphi/interface/CameraController.jpg


BIN
Demos/Delphi/interface/Console.jpg


BIN
Demos/Delphi/interface/Cursor.jpg


BIN
Demos/Delphi/interface/Fading.jpg


BIN
Demos/Delphi/interface/FontColor.jpg


BIN
Demos/Delphi/interface/GameMenu.jpg


BIN
Demos/Delphi/interface/Gizmo.jpg


BIN
Demos/Delphi/interface/GizmoEx.jpg


BIN
Demos/Delphi/interface/GuiPaint.jpg


BIN
Demos/Delphi/interface/HFpick.jpg


BIN
Demos/Delphi/interface/Pick.jpg


+ 2 - 2
Demos/Delphi/interface/SimpleNavigation.dpr

@@ -3,12 +3,12 @@ program SimpleNavigation;
 
 
 uses
 uses
   Forms,
   Forms,
-  SimpleNavigationFm in 'SimpleNavigationFm.pas' {Form1};
+  SimpleNavigationFm in 'SimpleNavigationFm.pas' {FormSimpleNavigation};
 
 
 {$R *.res}
 {$R *.res}
 
 
 begin
 begin
   Application.Initialize;
   Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFormSimpleNavigation, FormSimpleNavigation);
   Application.Run;
   Application.Run;
 end.
 end.

+ 1 - 1
Demos/Delphi/interface/SimpleNavigation.dproj

@@ -124,7 +124,7 @@
             <MainSource>MainSource</MainSource>
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
         </DelphiCompile>
         <DCCReference Include="SimpleNavigationFm.pas">
         <DCCReference Include="SimpleNavigationFm.pas">
-            <Form>Form1</Form>
+            <Form>FormSimpleNavigation</Form>
         </DCCReference>
         </DCCReference>
         <BuildConfiguration Include="Debug">
         <BuildConfiguration Include="Debug">
             <Key>Cfg_2</Key>
             <Key>Cfg_2</Key>

BIN
Demos/Delphi/interface/SimpleNavigation.jpg


+ 1 - 3
Demos/Delphi/interface/SimpleNavigationFm.dfm

@@ -1,4 +1,4 @@
-object Form1: TForm1
+object FormSimpleNavigation: TFormSimpleNavigation
   Left = 326
   Left = 326
   Top = 126
   Top = 126
   Caption = 'Simple Navigation'
   Caption = 'Simple Navigation'
@@ -24,8 +24,6 @@ object Form1: TForm1
     PenAsTouch = False
     PenAsTouch = False
     Align = alClient
     Align = alClient
     TabOrder = 0
     TabOrder = 0
-    ExplicitWidth = 517
-    ExplicitHeight = 420
   end
   end
   object GLScene1: TGLScene
   object GLScene1: TGLScene
     Left = 48
     Left = 48

+ 3 - 3
Demos/Delphi/interface/SimpleNavigationFm.pas

@@ -23,7 +23,7 @@ uses
   GLS.BaseClasses;
   GLS.BaseClasses;
 
 
 type
 type
-  TForm1 = class(TForm)
+  TFormSimpleNavigation = class(TForm)
     GLScene1: TGLScene;
     GLScene1: TGLScene;
     GLSceneViewer1: TGLSceneViewer;
     GLSceneViewer1: TGLSceneViewer;
     GLCamera1: TGLCamera;
     GLCamera1: TGLCamera;
@@ -40,13 +40,13 @@ type
   end;
   end;
 
 
 var
 var
-  Form1: TForm1;
+  FormSimpleNavigation: TFormSimpleNavigation;
 
 
 implementation
 implementation
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
-procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime,
+procedure TFormSimpleNavigation.GLCadencer1Progress(Sender: TObject; const deltaTime,
   newTime: Double);
   newTime: Double);
 begin
 begin
   GLSceneViewer1.Invalidate;
   GLSceneViewer1.Invalidate;

BIN
Demos/Delphi/interface/Winfont.jpg


+ 267 - 114
Demos/Delphi/interface/aInterface.htm

@@ -1,124 +1,277 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Interface demos</title>
 <title>Interface demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Interface
-demos&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="camera/camera.dpr"><b>camera</b></a><b>&nbsp;:</b><ul>
-            <li>moving camera with the mouse (rotation &amp;
-                translation)</li>
-            <li>zooming/unzooming with the mouse wheel</li>
-        </ul>
-    </li>
-    <li><a href="pick/pick.dpr"><b>pick</b></a><b>&nbsp;:</b><ul>
-            <li>finding which object(s) was picked with the mouse
-                in a GLSceneViewer</li>
-            <li>coloring objects under the mouse pointer</li>
-        </ul>
-    </li>
-    <li><a href="fadingintf/fading.dpr"><strong>fadingintf</strong></a><b>&nbsp;:</b><ul>
-            <li>smoother, progressive coloring of objects under
-                the pointer</li>
-            <li>using the OnProgress event</li>
-        </ul>
-    </li>
-    <li><a href="bmpfont/bmpfont.dpr"><strong>bmpfont</strong></a><b>&nbsp;:</b><ul>
-            <li>using a TGLHUDText and TGLBitmapFont to render 2D text</li>
-            <li>rotating and scaling a 2D text</li>
-        </ul>
-    </li>
-    <li><a href="winfont/winfont.dpr"><strong>winfont</strong></a><b>&nbsp;:</b><ul>
-            <li>using a TGLHUDText and TGLWindowsBitmapFont to render 2D text</li>
-            <li>rendering text to OpenGL with a TrueType Font</li>
-        </ul>
-    </li>
-    <li><a href="cursor/cursor.dpr"><strong>cursor</strong></a><b>&nbsp;:</b><ul>
-            <li>using a TGLHUDSprite as mouse cursor, with optional
-                alpha-blended trail</li>
-            <li>loading and displaying a picture, retrieving the
-                color under the mouse</li>
-        </ul>
-    </li>
-    <li><a href="hfpick/hfpick.dpr"><strong>hfpick</strong></a><b>&nbsp;:</b><ul>
-            <li>using PixelRayToWorld as a 3D picking tool</li>
-            <li>"painting" a 3D HeightField interactively</li>
-        </ul>
-    </li>
-    <li><a href="fontcolor/fontcolor.dpr"><strong>fontcolor</strong></a><b>&nbsp;:</b><ul>
-            <li>using a color modulation to colorize and fadein/fadeout 2D text</li>
-            <li>using time events manager</li>
-        </ul>
-    </li>
-    <li><a href="guidemo/guidemo.dpr"><strong>guidemo</strong></a><b>&nbsp;:</b><ul>
-            <li>A sample for the Gui interface system</li>
-            <li>GLScene user interface to enable user to change parameters.</li>
-        </ul>
-    </li>
-    <li><a href="guipaint/guipaint.dpr"><strong>guipaint</strong></a><b>&nbsp;:</b><ul>
-            <li>The Simple Paint Program using Gui components from GLScene.</li>
-            <li>using GLScene gui</li>
-        </ul>
-    </li>
-    <li><a href="CameraController/CameraControllerDemo.dpr"><strong>cameracontroller</strong></a><b>&nbsp;:</b><ul>
-            <li>A sample using TGLCameraController to automate camera movement.</li>
-        </ul>
-    </li>
-    <li><a href="Console/GLConsoleDemo.dpr"><strong>console</strong></a><b>&nbsp;:</b><ul>
-            <li>using a console to type commands, and get feedback.</li>
-        </ul>
-    </li>
-    <li><a href="GameMenu/GLMenuDemo.dpr"><strong>gamemenu</strong></a><b>&nbsp;:</b><ul>
-            <li>A typical in-game menu.</li>
-        </ul>
-    </li>
-    <li><a href="Gizmo/DemoGizmo.dpr"><strong>gizmo</strong></a><b>&nbsp;:</b><ul>
-            <li>A gizmo is used to control the position, scaling and orientation of several objects.</li>
-        </ul>
-    </li>
-    <li><a href="GizmoEx/DemoGizmoEx.dpr"><strong>gizmoex</strong></a><b>&nbsp;:</b><ul>
-            <li>Demonstration of the extended gizmo component.</li>
-        </ul>
-    </li>
-    <li><a href="SimpleNavigation/SimpleNavigationDemo.dpr"><strong>simplenavigation</strong></a><b>&nbsp;:</b><ul>
-            <li>Demonstration of the Simple Navigation component.</li>
-            <li>No code required to add simple mouse control to an application.</li>
-        </ul>
-    </li>
-    <li><a href="storedfont/storedfont.dpr"><strong>storedfont</strong></a><b>&nbsp;:</b><ul>
-            <li>using a TGLHUDText and TGLWindowsBitmapFont to render 2D text</li>
-            <li>rendering text to OpenGL with a TrueType Font</li>
-            <li>loading a font from file</li>  
-        </ul>
-    </li>
-    <li><a href="WideBitmapFont/WideBitmapFontDemo.dpr"><strong>widebitmapfont</strong></a><b>&nbsp;:</b><ul>
-            <li>Demonstration of TGLWideBitmapFont.</li>
-        </ul>
-    </li>
-</ul>
-
-
-
-
-<font size="2">See also :</font></p>
-
-<ul>
-    <li><font size="2">in </font><a
-        href="../behaviours/behaviours.htm"><font size="2">behaviours</font></a><font
-        size="2"> : &quot;torque&quot;</font></li>
-    <li><font size="2">in </font><a
-        href="../movements/movements.htm"><font size="2">movements</font></a><font
-        size="2"> : &quot;pong&quot;</font></li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Interface demos&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="bmpfont/bmpfont.dpr"><strong>bmpfont</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using a TGLHUDText and TGLBitmapFont to
+      render 2D text</span></li>
+  <li class=MsoNormal><span lang=FR>rotating and scaling a 2D text</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=443 height=342 src=Bmpfont.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="camera/camera.dpr"><b>camera</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>moving camera with the mouse (rotation
+      &amp; translation)</span></li>
+  <li class=MsoNormal><span lang=FR>zooming/unzooming with the mouse wheel</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=418 height=406 src=Camera.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a
+     href="CameraController/CameraControllerDemo.dpr"><strong>cameracontroller</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>A sample using TGLCameraController to
+      automate camera movement.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=421 src=CameraController.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Console/GLConsoleDemo.dpr"><strong>console</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using a console to type commands, and get
+      feedback.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=571 height=392 src=Console.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="cursor/cursor.dpr"><strong>cursor</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using a TGLHUDSprite as mouse cursor, with
+      optional alpha-blended trail</span></li>
+  <li class=MsoNormal><span lang=FR>loading and displaying a picture,
+      retrieving the color under the mouse</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=340 height=318 src=Cursor.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="GameMenu/GLMenuDemo.dpr"><strong>gamemenu</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>A typical in-game menu.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=365 height=359 src=GameMenu.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="Gizmo/DemoGizmo.dpr"><strong>gizmo</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>A gizmo is used to control the position,
+      scaling and orientation of several objects.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=595 height=549 src=Gizmo.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="GizmoEx/DemoGizmoEx.dpr"><strong>gizmoex</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Demonstration of the extended gizmo
+      component.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=624 height=458 src=GizmoEx.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="pick/pick.dpr"><b>pick</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>finding which object(s) was picked with the
+      mouse in a GLSceneViewer</span></li>
+  <li class=MsoNormal><span lang=FR>coloring objects under the mouse pointer</span></li>
+ </ul>
 </ul>
 </ul>
 
 
+<p class=MsoNormal><img border=0 width=370 height=315 src=Pick.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="fadingintf/fading.dpr"><strong>fadingintf</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>smoother, progressive coloring of objects
+      under the pointer</span></li>
+  <li class=MsoNormal><span lang=FR>using the OnProgress event</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=293 height=212 src=Fading.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="fontcolor/fontcolor.dpr"><strong>fontcolor</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using a color modulation to colorize and
+      fadein/fadeout 2D text</span></li>
+  <li class=MsoNormal><span lang=FR>using time events manager</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=338 height=314 src=FontColor.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="hfpick/hfpick.dpr"><strong>hfpick</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using PixelRayToWorld as a 3D picking tool</span></li>
+  <li class=MsoNormal><span lang=FR>&quot;painting&quot; a 3D HeightField
+      interactively</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=450 height=319 src=HFpick.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="guidemo/guidemo.dpr"><strong>guidemo</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>A sample for the Gui interface system</span></li>
+  <li class=MsoNormal><span lang=FR>GLScene user interface to enable user to
+      change parameters.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=521 height=355 src=Guidemo.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="guipaint/guipaint.dpr"><strong>guipaint</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>The Simple Paint Program using Gui
+      components from GLScene.</span></li>
+  <li class=MsoNormal><span lang=FR>using GLScene gui</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=292 height=333 src=GuiPaint.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a
+     href="SimpleNavigation/SimpleNavigationDemo.dpr"><strong>simplenavigation</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Demonstration of the Simple Navigation
+      component.</span></li>
+  <li class=MsoNormal><span lang=FR>No code required to add simple mouse
+      control to an application.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=309 height=240 src=SimpleNavigation.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="storedfont/storedfont.dpr"><strong>storedfont</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using a TGLHUDText and TGLWindowsBitmapFont
+      to render 2D text</span></li>
+  <li class=MsoNormal><span lang=FR>rendering text to OpenGL with a TrueType
+      Font</span></li>
+  <li class=MsoNormal><span lang=FR>loading a font from file</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a
+     href="WideBitmapFont/WideBitmapFontDemo.dpr"><strong>widebitmapfont</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Demonstration of TGLWideBitmapFont.</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="winfont/winfont.dpr"><strong>winfont</strong></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using a TGLHUDText and TGLWindowsBitmapFont
+      to render 2D text</span></li>
+  <li class=MsoNormal><span lang=FR>rendering text to OpenGL with a TrueType
+      Font</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=590 height=374 src=Winfont.jpg></p>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<p class=MsoNormal><span lang=FR style='font-size:10.0pt'>See also :</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR style='font-size:10.0pt'>in </span><span
+     lang=FR><a href="../behaviours/behaviours.htm"><span style='font-size:
+     10.0pt'>behaviours</span></a></span><span lang=FR style='font-size:10.0pt'>
+     : &quot;torque&quot;</span></li>
+ <li class=MsoNormal><span lang=FR style='font-size:10.0pt'>in </span><span
+     lang=FR><a href="../movements/movements.htm"><span style='font-size:10.0pt'>movements</span></a></span><span
+     lang=FR style='font-size:10.0pt'> : &quot;pong&quot;</span></li>
+</ul>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/materials/Cubemap.jpg


BIN
Demos/Delphi/materials/CustomQuad.jpg


BIN
Demos/Delphi/materials/DynamicTexture.jpg


BIN
Demos/Delphi/materials/MatScript.jpg


BIN
Demos/Delphi/materials/Mirror.jpg


BIN
Demos/Delphi/materials/MultiMaterial.jpg


BIN
Demos/Delphi/materials/MultiPass.jpg


BIN
Demos/Delphi/materials/MultiTexture.jpg


BIN
Demos/Delphi/materials/ProceduralClouds.jpg


BIN
Demos/Delphi/materials/TexAnim.jpg


BIN
Demos/Delphi/materials/TexCombine.jpg


BIN
Demos/Delphi/materials/TexFormat.jpg


BIN
Demos/Delphi/materials/Transparency.jpg


BIN
Demos/Delphi/materials/TransparencyAdv.jpg


+ 243 - 86
Demos/Delphi/materials/aMaterials.htm

@@ -1,96 +1,253 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Materials demos</title>
 <title>Materials demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Materials&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="cubemap/cubemap.dpr"><b>cubemap</b></a><b>&nbsp;:</b><ul>
-            <li>using cube environment mapping to simulate reflections/chrome</li>
-            <li>setting up a cube map under GLScene</li>
-        </ul>
-    </li>
-    <li><a href="customquad/customquad.dpr"><b>customquad</b></a><b>&nbsp;:</b><ul>
-            <li>adding materials to a material library at run-time</li>
-            <li>rendering your custom OpenGL code with
-                TDirectOpenGL</li>
-            <li>using standard materials in custom OpenGL code</li>
-        </ul>
-    </li>
-    <li><a href="dyncubemap/dyncubemap.dpr"><b>dyncubemap</b></a><b>&nbsp;:</b><ul>
-            <li>generating cube maps dynamically, at runtime</li>
-            <li>using cube environment mapping to simulate reflections/chrome</li>
-        </ul>
-    </li>
-    <li><a href="fire2D/Fire2D.dpr"><b>Fire2D</b></a><b>&nbsp;:</b><ul>
-            <li>a dynamic (animated) texture evolving in real-time</li>
-            <li>using Graphics32 (www.g32.org) to generate texture maps at run-time</li>
-        </ul>
-    </li>
-    <li><a href="materialScript/matscript.dpr"><b>Material Script</b></a><b>&nbsp;:</b><ul>
-            <li>Scripting capabilities for automatic material loading</li>
-        </ul>
-    </li>
-    <li><a href="mirror/mirror.dpr"><b>mirror</b></a><b>&nbsp;:</b><ul>
-            <li>using the mirror object</li>
-        </ul>
-    </li>
-    <li><a href="multimaterial/multimaterial.dpr"><b>multimaterial</b></a><b>&nbsp;:</b><ul>
-            <li>applying multiple materials/textures to an object through using the GLMultiMaterialShader component</li>
-        </ul>
-    </li>
-    <li><a href="multipass/multipass.dpr"><b>multipass</b></a><b>&nbsp;:</b><ul>
-            <li>multipass rendering with a custom TGLShader</li>
-            <li>fast wireframe hidden lines rendering</li>
-        </ul>
-    </li>
-    <li><a href="multitexture/multitexture.dpr"><strong>multitexture</strong></a>
-        :<ul>
-            <li>multitexturing in GLScene via a MaterialLibrary</li>
-            <li>using multitexturing for basic lightmapping</li>
-        </ul>
-    </li>
-    <li><a href="proceduralclouds/proceduralclouds.dpr"><b>procedural clouds</b></a><b>&nbsp;:</b><ul>
-            <li>procedural (animated) textures demos</li>
-            <li>view and adjust interactively parameters for a Perlin noise procedural texture</li>
-            <li>a transparent extension (Note requires RGBA textures)</li>
-            <li>Seed and Random number file computation were added</li>
-        </ul>
-    </li>
-    <li><a href="texanim/texanim.dpr"><b>texanim</b></a><b>&nbsp;:</b><ul>
-            <li>&quot;animating&quot; a texture via material
-                switches</li>
-            <li>using the material library for a texture
-                animation effect</li>
-        </ul>
-    </li>
-    <li><a href="texcombine/texcombine.dpr"><b>texcombine</b></a><b>&nbsp;:</b><ul>
-            <li>TexCombineShader demo / mini-lab</li>
-        </ul>
-    </li>
-    <li><a href="texformat/texformat.dpr"><b>texformat</b></a><b>&nbsp;:</b><ul>
-            <li>using alternative texture formats and texture
-                compression in GLScene</li>
-            <li>viewing the (visual) effects of texture formats
-                and texture compression on sample textures</li>
-        </ul>
-    </li>
-    <li><a href="transparency/transparency.dpr"><b>transparency</b></a><b>&nbsp;:</b><ul>
-            <li>how to enable/use transparency in GLScene</li>
-            <li>understanding/testing the effects of ordering to
-                get the right effect with transparency + Z-Buffer</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Materials&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="cubemap/cubemap.dpr"><b>CubeMap</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using cube environment mapping to simulate
+      reflections/chrome</span></li>
+  <li class=MsoNormal><span lang=FR>setting up a cube map under GLScene</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=555 height=432 src=Cubemap.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="customquad/customquad.dpr"><b>Custom
+     Quad</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>adding materials to a material library at
+      run-time</span></li>
+  <li class=MsoNormal><span lang=FR>rendering your custom OpenGL code with
+      TDirectOpenGL</span></li>
+  <li class=MsoNormal><span lang=FR>using standard materials in custom OpenGL
+      code</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=546 height=437 src=CustomQuad.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="dyncubemap/dyncubemap.dpr"><b>Dynnamic
+     Cubemap</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>generating cube maps dynamically, at
+      runtime</span></li>
+  <li class=MsoNormal><span lang=FR>using cube environment mapping to simulate
+      reflections/chrome</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="dyncubemap/dyncubemap.dpr"><b>Dynamic
+     Texture</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>generating textured cube maps dynamically</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=550 height=490 src=DynamicTexture.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="fire2D/Fire2D.dpr"><b>Fire2D</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>a dynamic (animated) texture evolving in
+      real-time</span></li>
+  <li class=MsoNormal><span lang=FR>using Graphics32 (www.g32.org) to generate
+      texture maps at run-time</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=275 height=242 src=Fire2D.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="materialScript/matscript.dpr"><b>Material
+     Script</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Scripting capabilities for automatic
+      material loading</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=623 height=403 src=MatScript.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="mirror/mirror.dpr"><b>Mirror</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the mirror object</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=417 height=259 src=Mirror.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="multimaterial/multimaterial.dpr"><b>Multi
+     Material</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>applying multiple materials/textures to an
+      object through using the GLMultiMaterialShader component</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><img border=0 width=375 height=273 src=MultiMaterial.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="multipass/multipass.dpr"><b>Multi Pass</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>multipass rendering with a custom TGLShader</span></li>
+  <li class=MsoNormal><span lang=FR>fast wireframe hidden lines rendering</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=378 height=312 src=MultiPass.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="multitexture/multitexture.dpr"><strong>Multi
+     Texture</strong></a> :</span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>multitexturing in GLScene via a
+      MaterialLibrary</span></li>
+  <li class=MsoNormal><span lang=FR>using multitexturing for basic lightmapping</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=490 height=381 src=MultiTexture.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a
+     href="proceduralclouds/proceduralclouds.dpr"><b>Procedural Clouds</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>procedural (animated) textures demos</span></li>
+  <li class=MsoNormal><span lang=FR>view and adjust interactively parameters
+      for a Perlin noise procedural texture</span></li>
+  <li class=MsoNormal><span lang=FR>a transparent extension (Note requires RGBA
+      textures)</span></li>
+  <li class=MsoNormal><span lang=FR>Seed and Random number file computation
+      were added</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=471 height=382 src=ProceduralClouds.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="texanim/texanim.dpr"><b>Texture Animation</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>&quot;animating&quot; a texture via material
+      switches</span></li>
+  <li class=MsoNormal><span lang=FR>using the material library for a texture
+      animation effect</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=387 height=368 src=TexAnim.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="texcombine/texcombine.dpr"><b>Texture
+     Combine</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>TexCombineShader demo / mini-lab</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=509 height=392 src=TexCombine.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="texformat/texformat.dpr"><b>Texture
+     Format</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using alternative texture formats and
+      texture compression in GLScene</span></li>
+  <li class=MsoNormal><span lang=FR>viewing the (visual) effects of texture
+      formats and texture compression on sample textures</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=491 height=343 src=TexFormat.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="transparency/transparency.dpr"><b>Transparency</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>how to enable/use transparency in GLScene</span></li>
+  <li class=MsoNormal><span lang=FR>understanding/testing the effects of
+      ordering to get the right effect with transparency + Z-Buffer</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=441 height=310 src=Transparency.jpg></p>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

BIN
Demos/Delphi/meshes/Actor.jpg


BIN
Demos/Delphi/meshes/ShadedTerrain.jpg


BIN
Demos/Delphi/meshes/Tiles.jpg


+ 261 - 121
Demos/Delphi/meshes/aMeshes.htm

@@ -1,131 +1,271 @@
 <html>
 <html>
 
 
 <head>
 <head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 15 (filtered)">
 <title>Meshes demos</title>
 <title>Meshes demos</title>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:Wingdings;
+	panose-1:5 0 0 0 0 0 0 0 0 0;}
+@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;}
+.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>
 </head>
 
 
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Meshes&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="actor/actor.dpr"><b>actor</b></a><b>&nbsp;:</b><ul>
-            <li>using the TActor object to load Quake II model (.md2)</li>
-            <li>displaying an actor's frame names</li>
-            <li>animating an actor (morph animation)</li>
-        </ul>
-    </li>
-    <li><a href="actorms3d/actorms3d.dpr"><b>actor</b></a><b>&nbsp;:</b><ul>
-            <li>using the TActor object to load Quake II model (.md2)</li>
-            <li>displaying an actor's frame names</li>
-            <li>animating an actor (morph animation)</li>
-        </ul>
-    </li>
-    <li><a href="actortwocam/actortwocam.dpr"><b>actortwocam</b></a><b>&nbsp;:</b><ul>
-            <li>moving a TActor (Quake II model with wepon) in a
-                small scenery</li>
-            <li>doom-like (keyboard only) movement, with walk/run,
-                turn/strafe</li>
-            <li>switching between first-person and third-person
-                views</li>
-        </ul>
-    </li>
-    <li><a href="csg/csg.dpr"><b>csg</b></a><b>&nbsp;:</b><ul>
-            <li>Constructive Solid Geometry.</li>
-            <li>The CSG system uses BSP to optimize what triangles it considers.</li>
-            <li>Features: CSG_Union, CSG_Subtraction, CSG_Intersection.</li>
-        </ul>
-    </li>
-    <li><a href="shadedterrain/shadedterrain.dpr"><b>shadedterrain</b></a><b>&nbsp;:</b><ul>
-            <li>Shaded terrain rendering demo.</li>
-            <li>...</li>
-        </ul>
-    </li>
-    <li><a href="feedback/feedback.dpr"><b>feedback</b></a><b>&nbsp;:</b><ul>
-            <li>This demo shows how to use a GLFeedback object to
-   extract mesh data from regular GLScene objects.</li>
-            <li>The GLFeedback object</li>
-        </ul>
-    </li>
-    <li><a href="formula/formula.dpr"><b>formula</b></a><b>&nbsp;:</b><ul>
-            <li>using the TMesh object to plot a formula in 3D</li>
-            <li>triangle and triangle-strip meshes to make
-                regular, grid-based, height-fields meshes</li>
-        </ul>
-    </li>
-    <li><a href="mushroom/mushroom.dpr"><b>mushroom</b></a><b>&nbsp;:</b><ul>
-            <li>using the TFreeForm to load a 3DStudio (.3DS)
-                mesh</li>
-            <li>using TGLProxyObject to duplicate an object</li>
-            <li>uses fog and a textured &quot;ground&quot;</li>
-        </ul>
-    </li>
-    <li><a href="centering/centering.dpr"><b>centering</b></a><b>&nbsp;:</b><ul>
-            <li>using AutoCentering for a TFreeForm's mesh</li>
-            <li>effects of various AutoCentering options</li>
-        </ul>
-    </li>
-    <li><a href="skeletal/skeletal.dpr"><b>skeletal</b></a><b>&nbsp;:</b><ul>
-            <li>using the TActor object to an Half-Life model (.smd)</li>
-            <li>animating an actor (skeletal animation)</li>
-        </ul>
-    </li>
-    <li><a href="expolygon/expolygon.dpr"><strong>expolygon</strong></a>
-        :<ul>
-            <li>using TMultiPolygon for rendering complex
-                polygons</li>
-            <li>automatic tesselation of polygons with holes and
-                cutoffs</li>
-        </ul>
-    </li>
-    <li><a href="portal/portal.dpr"><b>portal</b></a><b>&nbsp;:</b><ul>
-            <li>using the TPortal object to render indoor scenes</li>
-            <li>basic wolfenstein-like &quot;level designer&quot;
-                for generating the maze mesh</li>
-        </ul>
-    </li>
-    <li><a href="subdivide/subdivide.dpr"><b>subdivide</b></a><b>&nbsp;:</b><ul>
-            <li>Early mesh subdivision refinement demo</li>
-            <li>MD2 format isn't really suited for refinement</li>
-        </ul>
-    </li>
-    <li><a href="synthterr/synthterr.dpr"><b>synthterr</b></a><b>&nbsp;:</b><ul>
-            <li>using TTerrainRender and TGLCustomHDS</li>
-            <li>1D textures</li>
-        </ul>
-    </li>
-    <li><a href="terrain/terrain.dpr"><b>terrain</b></a><b>&nbsp;:</b><ul>
-            <li>using TTerrainRender and TGLBitmapHDS to render a simple landscape</li>
-            <li>Full-screen mode and using THUDText/TBitmapFont for a FPS counter</li>
-            <li>Positional 3D sounds</li>
-        </ul>
-    </li>
-    <li><a href="ducky/ducky.dpr"><b>ducky</b></a><b>&nbsp;:</b><ul>
-            <li>Loading NURBS into a GLScene FreeForm/Actor object.</li>
-            <li>Use the resolution slider to increase or decrease the models triangle count dynamically.</li>
-        </ul>
-    </li>
-    <li><a href="tiles/tiles.dpr"><b>tileplane</b></a><b>&nbsp;:</b><ul>
-            <li>Illustrates the use of TGLTilePlane to render an area made of tiled textures placed in a grid.</li>
-            <li>...</li>
-        </ul>
-    </li>
-    <li><a href="tiles/tiles.dpr"><b>tiles</b></a><b>&nbsp;:</b><ul>
-            <li>Illustrates the use of TGLTilePlane to render an area made of tiled textures placed in a grid.</li>
-            <li>The TGLTilePlane object</li>
-        </ul>
-    </li>
-    <li><a href="tree/tree.dpr"><b>tree</b></a><b>&nbsp;:</b><ul>
-            <li>GLTree Editor.</li>
-            <li>Interactive parameter changes display tree variations.</li>
-        </ul>
-    </li>
+<body bgcolor=white lang=RU link=blue vlink=purple>
+
+<div class=WordSection1>
+
+<p class=MsoPlainText><b><span lang=FR style='font-size:13.5pt;font-family:
+"Courier New"'>Meshes&nbsp;:</span></b></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="actor/actor.dpr"><b>actor</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the TActor object to load Quake II
+      model (.md2)</span></li>
+  <li class=MsoNormal><span lang=FR>displaying an actor's frame names</span></li>
+  <li class=MsoNormal><span lang=FR>animating an actor (morph animation)</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=521 height=362 src=Actor.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="actorms3d/actorms3d.dpr"><b>actor</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the TActor object to load Quake II
+      model (.md2)</span></li>
+  <li class=MsoNormal><span lang=FR>displaying an actor's frame names</span></li>
+  <li class=MsoNormal><span lang=FR>animating an actor (morph animation)</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="actortwocam/actortwocam.dpr"><b>actortwocam</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>moving a TActor (Quake II model with wepon)
+      in a small scenery</span></li>
+  <li class=MsoNormal><span lang=FR>doom-like (keyboard only) movement, with
+      walk/run, turn/strafe</span></li>
+  <li class=MsoNormal><span lang=FR>switching between first-person and
+      third-person views</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="centering/centering.dpr"><b>centering</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using AutoCentering for a TFreeForm's mesh</span></li>
+  <li class=MsoNormal><span lang=FR>effects of various AutoCentering options</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="csg/csg.dpr"><b>csg</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Constructive Solid Geometry.</span></li>
+  <li class=MsoNormal><span lang=FR>The CSG system uses BSP to optimize what
+      triangles it considers.</span></li>
+  <li class=MsoNormal><span lang=FR>Features: CSG_Union, CSG_Subtraction,
+      CSG_Intersection.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="ducky/ducky.dpr"><b>ducky</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Loading NURBS into a GLScene FreeForm/Actor
+      object.</span></li>
+  <li class=MsoNormal><span lang=FR>Use the resolution slider to increase or
+      decrease the models triangle count dynamically.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="expolygon/expolygon.dpr"><strong>expolygon</strong></a>
+     :</span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using TMultiPolygon for rendering complex
+      polygons</span></li>
+  <li class=MsoNormal><span lang=FR>automatic tesselation of polygons with
+      holes and cutoffs</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="feedback/feedback.dpr"><b>feedback</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>This demo shows how to use a GLFeedback
+      object to extract mesh data from regular GLScene objects.</span></li>
+  <li class=MsoNormal><span lang=FR>The GLFeedback object</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="formula/formula.dpr"><b>formula</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the TMesh object to plot a formula in
+      3D</span></li>
+  <li class=MsoNormal><span lang=FR>triangle and triangle-strip meshes to make
+      regular, grid-based, height-fields meshes</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="mushroom/mushroom.dpr"><b>mushroom</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the TFreeForm to load a 3DStudio
+      (.3DS) mesh</span></li>
+  <li class=MsoNormal><span lang=FR>using TGLProxyObject to duplicate an object</span></li>
+  <li class=MsoNormal><span lang=FR>uses fog and a textured &quot;ground&quot;</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="portal/portal.dpr"><b>portal</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the TPortal object to render indoor
+      scenes</span></li>
+  <li class=MsoNormal><span lang=FR>basic wolfenstein-like &quot;level
+      designer&quot; for generating the maze mesh</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="skeletal/skeletal.dpr"><b>skeletal</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using the TActor object to an Half-Life
+      model (.smd)</span></li>
+  <li class=MsoNormal><span lang=FR>animating an actor (skeletal animation)</span></li>
+ </ul>
 </ul>
 </ul>
 
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><span lang=FR>&nbsp;</span></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="shadedterrain/shadedterrain.dpr"><b>shadedterrain</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Shaded terrain rendering demo.</span></li>
+  <li class=MsoNormal><span lang=FR>...</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=610 height=390 src=ShadedTerrain.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="subdivide/subdivide.dpr"><b>subdivide</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Early mesh subdivision refinement demo</span></li>
+  <li class=MsoNormal><span lang=FR>MD2 format isn't really suited for
+      refinement</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="synthterr/synthterr.dpr"><b>synthterr</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using TTerrainRender and TGLCustomHDS</span></li>
+  <li class=MsoNormal><span lang=FR>1D textures</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="terrain/terrain.dpr"><b>terrain</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>using TTerrainRender and TGLBitmapHDS to
+      render a simple landscape</span></li>
+  <li class=MsoNormal><span lang=FR>Full-screen mode and using
+      THUDText/TBitmapFont for a FPS counter</span></li>
+  <li class=MsoNormal><span lang=FR>Positional 3D sounds</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="tiles/tiles.dpr"><b>Tile Plane</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Illustrates the use of TGLTilePlane to
+      render an area made of tiled textures placed in a grid.</span></li>
+  <li class=MsoNormal><span lang=FR>...</span></li>
+ </ul>
+ <li class=MsoNormal><span lang=FR><a href="tiles/tiles.dpr"><b>Tiles</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>Illustrates the use of TGLTilePlane to
+      render an area made of tiled textures placed in a grid.</span></li>
+  <li class=MsoNormal><span lang=FR>The TGLTilePlane object</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><img border=0 width=518 height=375 src=Tiles.jpg></p>
+
+<ul type=disc>
+ <li class=MsoNormal><span lang=FR><a href="tree/tree.dpr"><b>tree</b></a><b>&nbsp;:</b></span></li>
+ <ul type=circle>
+  <li class=MsoNormal><span lang=FR>GLTree Editor.</span></li>
+  <li class=MsoNormal><span lang=FR>Interactive parameter changes display tree
+      variations.</span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
 </body>
+
 </html>
 </html>

+ 0 - 276
Demos/Delphi/specialsFX/SpecialFX.groupproj

@@ -1,276 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-    <PropertyGroup>
-        <ProjectGuid>{CAA3621A-2A22-4CA4-B83A-457DFB36FC73}</ProjectGuid>
-    </PropertyGroup>
-    <ItemGroup>
-        <Projects Include="Atmosphere\Atmosphere.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="beer\beer.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="boom\boom.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="candles\candles.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="fire\fire.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="meshexplosion\meshexplosion.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="motionblur\motionblur.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="motionblur2\motionblur2.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="ParticleMasking\ParticleMasking.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="PFXGallery\PFXGallery.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="posteffect\posteffect.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="projtextures\ProjTextures.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="ShadowmappingFBO\ShadowmappingFBO.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="shadowplane\shadowplane.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="shadows\Shadows.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="shadowvolumes\shadowvolumes.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="spiral\spiral.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="thor\Thor.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="Trail\TrailDemo.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="warping\warping.dproj">
-            <Dependencies/>
-        </Projects>
-        <Projects Include="waterplane\waterplane.dproj">
-            <Dependencies/>
-        </Projects>
-    </ItemGroup>
-    <ProjectExtensions>
-        <Borland.Personality>Default.Personality.12</Borland.Personality>
-        <Borland.ProjectType/>
-        <BorlandProject>
-            <Default.Personality/>
-        </BorlandProject>
-    </ProjectExtensions>
-    <Target Name="Atmosphere">
-        <MSBuild Projects="Atmosphere\Atmosphere.dproj"/>
-    </Target>
-    <Target Name="Atmosphere:Clean">
-        <MSBuild Projects="Atmosphere\Atmosphere.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="Atmosphere:Make">
-        <MSBuild Projects="Atmosphere\Atmosphere.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="beer">
-        <MSBuild Projects="beer\beer.dproj"/>
-    </Target>
-    <Target Name="beer:Clean">
-        <MSBuild Projects="beer\beer.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="beer:Make">
-        <MSBuild Projects="beer\beer.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="boom">
-        <MSBuild Projects="boom\boom.dproj"/>
-    </Target>
-    <Target Name="boom:Clean">
-        <MSBuild Projects="boom\boom.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="boom:Make">
-        <MSBuild Projects="boom\boom.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="candles">
-        <MSBuild Projects="candles\candles.dproj"/>
-    </Target>
-    <Target Name="candles:Clean">
-        <MSBuild Projects="candles\candles.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="candles:Make">
-        <MSBuild Projects="candles\candles.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="fire">
-        <MSBuild Projects="fire\fire.dproj"/>
-    </Target>
-    <Target Name="fire:Clean">
-        <MSBuild Projects="fire\fire.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="fire:Make">
-        <MSBuild Projects="fire\fire.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="meshexplosion">
-        <MSBuild Projects="meshexplosion\meshexplosion.dproj"/>
-    </Target>
-    <Target Name="meshexplosion:Clean">
-        <MSBuild Projects="meshexplosion\meshexplosion.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="meshexplosion:Make">
-        <MSBuild Projects="meshexplosion\meshexplosion.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="motionblur">
-        <MSBuild Projects="motionblur\motionblur.dproj"/>
-    </Target>
-    <Target Name="motionblur:Clean">
-        <MSBuild Projects="motionblur\motionblur.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="motionblur:Make">
-        <MSBuild Projects="motionblur\motionblur.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="motionblur2">
-        <MSBuild Projects="motionblur2\motionblur2.dproj"/>
-    </Target>
-    <Target Name="motionblur2:Clean">
-        <MSBuild Projects="motionblur2\motionblur2.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="motionblur2:Make">
-        <MSBuild Projects="motionblur2\motionblur2.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="ParticleMasking">
-        <MSBuild Projects="ParticleMasking\ParticleMasking.dproj"/>
-    </Target>
-    <Target Name="ParticleMasking:Clean">
-        <MSBuild Projects="ParticleMasking\ParticleMasking.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="ParticleMasking:Make">
-        <MSBuild Projects="ParticleMasking\ParticleMasking.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="PFXGallery">
-        <MSBuild Projects="PFXGallery\PFXGallery.dproj"/>
-    </Target>
-    <Target Name="PFXGallery:Clean">
-        <MSBuild Projects="PFXGallery\PFXGallery.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="PFXGallery:Make">
-        <MSBuild Projects="PFXGallery\PFXGallery.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="posteffect">
-        <MSBuild Projects="posteffect\posteffect.dproj"/>
-    </Target>
-    <Target Name="posteffect:Clean">
-        <MSBuild Projects="posteffect\posteffect.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="posteffect:Make">
-        <MSBuild Projects="posteffect\posteffect.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="ProjTextures">
-        <MSBuild Projects="projtextures\ProjTextures.dproj"/>
-    </Target>
-    <Target Name="ProjTextures:Clean">
-        <MSBuild Projects="projtextures\ProjTextures.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="ProjTextures:Make">
-        <MSBuild Projects="projtextures\ProjTextures.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="ShadowmappingFBO">
-        <MSBuild Projects="ShadowmappingFBO\ShadowmappingFBO.dproj"/>
-    </Target>
-    <Target Name="ShadowmappingFBO:Clean">
-        <MSBuild Projects="ShadowmappingFBO\ShadowmappingFBO.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="ShadowmappingFBO:Make">
-        <MSBuild Projects="ShadowmappingFBO\ShadowmappingFBO.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="shadowplane">
-        <MSBuild Projects="shadowplane\shadowplane.dproj"/>
-    </Target>
-    <Target Name="shadowplane:Clean">
-        <MSBuild Projects="shadowplane\shadowplane.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="shadowplane:Make">
-        <MSBuild Projects="shadowplane\shadowplane.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="Shadows">
-        <MSBuild Projects="shadows\Shadows.dproj"/>
-    </Target>
-    <Target Name="Shadows:Clean">
-        <MSBuild Projects="shadows\Shadows.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="Shadows:Make">
-        <MSBuild Projects="shadows\Shadows.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="shadowvolumes">
-        <MSBuild Projects="shadowvolumes\shadowvolumes.dproj"/>
-    </Target>
-    <Target Name="shadowvolumes:Clean">
-        <MSBuild Projects="shadowvolumes\shadowvolumes.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="shadowvolumes:Make">
-        <MSBuild Projects="shadowvolumes\shadowvolumes.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="spiral">
-        <MSBuild Projects="spiral\spiral.dproj"/>
-    </Target>
-    <Target Name="spiral:Clean">
-        <MSBuild Projects="spiral\spiral.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="spiral:Make">
-        <MSBuild Projects="spiral\spiral.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="Thor">
-        <MSBuild Projects="thor\Thor.dproj"/>
-    </Target>
-    <Target Name="Thor:Clean">
-        <MSBuild Projects="thor\Thor.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="Thor:Make">
-        <MSBuild Projects="thor\Thor.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="TrailDemo">
-        <MSBuild Projects="Trail\TrailDemo.dproj"/>
-    </Target>
-    <Target Name="TrailDemo:Clean">
-        <MSBuild Projects="Trail\TrailDemo.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="TrailDemo:Make">
-        <MSBuild Projects="Trail\TrailDemo.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="warping">
-        <MSBuild Projects="warping\warping.dproj"/>
-    </Target>
-    <Target Name="warping:Clean">
-        <MSBuild Projects="warping\warping.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="warping:Make">
-        <MSBuild Projects="warping\warping.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="waterplane">
-        <MSBuild Projects="waterplane\waterplane.dproj"/>
-    </Target>
-    <Target Name="waterplane:Clean">
-        <MSBuild Projects="waterplane\waterplane.dproj" Targets="Clean"/>
-    </Target>
-    <Target Name="waterplane:Make">
-        <MSBuild Projects="waterplane\waterplane.dproj" Targets="Make"/>
-    </Target>
-    <Target Name="Build">
-        <CallTarget Targets="Atmosphere;beer;boom;candles;fire;meshexplosion;motionblur;motionblur2;ParticleMasking;PFXGallery;posteffect;ProjTextures;ShadowmappingFBO;shadowplane;Shadows;shadowvolumes;spiral;Thor;TrailDemo;warping;waterplane"/>
-    </Target>
-    <Target Name="Clean">
-        <CallTarget Targets="Atmosphere:Clean;beer:Clean;boom:Clean;candles:Clean;fire:Clean;meshexplosion:Clean;motionblur:Clean;motionblur2:Clean;ParticleMasking:Clean;PFXGallery:Clean;posteffect:Clean;ProjTextures:Clean;ShadowmappingFBO:Clean;shadowplane:Clean;Shadows:Clean;shadowvolumes:Clean;spiral:Clean;Thor:Clean;TrailDemo:Clean;warping:Clean;waterplane:Clean"/>
-    </Target>
-    <Target Name="Make">
-        <CallTarget Targets="Atmosphere:Make;beer:Make;boom:Make;candles:Make;fire:Make;meshexplosion:Make;motionblur:Make;motionblur2:Make;ParticleMasking:Make;PFXGallery:Make;posteffect:Make;ProjTextures:Make;ShadowmappingFBO:Make;shadowplane:Make;Shadows:Make;shadowvolumes:Make;spiral:Make;Thor:Make;TrailDemo:Make;warping:Make;waterplane:Make"/>
-    </Target>
-    <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
-</Project>

+ 0 - 126
Demos/Delphi/specialsFX/specialsFX.htm

@@ -1,126 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
-<title>Specials FX demos</title>
-</head>
-
-<body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080" lang="FR"
-style="tab-interval:35.4pt">
-
-<p class="MsoPlainText"><font size="4" face="Courier New"><b>Specials/FX&nbsp;:</b></font></p>
-
-<ul>
-    <li><a href="boom/boom.dpr"><b>boom</b></a><b>&nbsp;:</b><ul>
-            <li>using FireFX for fire/smoke trails and particle-based
-                explosions</li>
-            <li>isotropic and ring (3D) explosions</li>
-        </ul>
-    </li>
-    <li><a href="candles/candles.dpr"><b>candles</b></a><b>&nbsp;:</b><ul>
-            <li>a revolution-solid &quot;birthday cake&quot; with
-                three candles (FireFX)</li>
-            <li>simulating wind with FireDir</li>
-        </ul>
-    </li>
-    <li><a href="fire/fire.dpr"><b>fire</b></a><b>&nbsp;:</b><ul>
-            <li>sample for FireFX, the burning fire effect (particle
-                based)</li>
-            <li>a small sphere burns while a torus spins around
-                it</li>
-        </ul>
-    </li>
-    <li><a href="spiral/spiral.dpr"><b>spiral</b></a><b>&nbsp;:</b><ul>
-            <li>sample for ParticleFX, two multi-colored particle systems 
-		in the same scene</li>
-            <li>using the FullScreenViewer for full-screen rendering</li>
-        </ul>
-    </li>
-    <li><a href="motionblur/motionblur.dpr"><b>motionblur</b></a><b>&nbsp;:</b><ul>
-            <li>simple full-scene motion blur example</li>
-            <li>using the Buffer.CopyToTexture function</li>
-        </ul>
-    </li>
-    <li><a href="shadowplane/shadowplane.dpr"><b>shadowplane</b></a><b>&nbsp;:</b><ul>
-            <li>simple projective shadows using the ShadowPlane component</li>
-            <li>higher quality plane lighting through plane tiling</li>
-        </ul>
-    </li>
-    <li><a href="shadowvolumes/shadowvolumes.dpr"><b>shadowvolumes</b></a><b>&nbsp;:</b><ul>
-            <li>rendering shadows with the ShadowVolume component</li>
-            <li>experimenting with ShadowVolume modes and options</li>
-        </ul>
-    </li>
-    <li><a href="shadows/shadows.dpr"><b>shadows</b></a><b>&nbsp;:</b><ul>
-            <li>dynamic shadow casting using zBuffer-based shadow maps</li>
-            <li>using GLzBuffer, adjusting shadow map properties</li>
-        </ul>
-    </li>
-    <li><a href="thor/thor.dpr"><b>thor</b></a><b>&nbsp;:</b><ul>
-            <li>using ThorFX for simulated electric arcs</li>
-            <li>allows experimenting with wilderness, vibrate and other parameters</li>
-        </ul>
-    </li>
-    <li><a href="warping/warping.dpr"><b>warping</b></a><b>&nbsp;:</b><ul>
-            <li>warping images with the hep of a TGLHeightField</li>
-            <li>working with the camera in 1:1 orthogonal mode, saving viewer content to a file</li>
-        </ul>
-    </li>
-    <li><a href="meshexplosion/meshexplosion.dpr"><b>meshexplosion</b></a><b>&nbsp;:</b><ul>
-            <li>exploding a mesh in its many triangles</li>
-            <li>using ExplosionFX to explode a simple 3DS mesh</li>
-        </ul>
-    </li>
-    <li><a href="beer/beer.dpr"><b>beer</b></a><b>&nbsp;:</b><ul>
-            <li>A PerlinPFX is used for the foam, a simpler PolyPFX for the bubbles.
-waterplane</li>
-            <li>The beer we all have promised to Eric.</li>
-        </ul>
-    </li>
-    <li><a href="waterplane/waterplane.dpr"><b>waterplane</b></a><b>&nbsp;:</b><ul>
-            <li>WaterPlane demo</li>
-            <li>Raindrops in a fountain.</li>
-        </ul>
-    </li>
-    <li><a href="PFXGallery/PFXGallery.dpr"><b>PFXGallery</b></a><b>&nbsp;:</b><ul>
-            <li>PFX Effects Gallery demo</li>
-            <li>Multiple GLPerlinPFX components with various parameters</li>
-        </ul>
-    </li>
-    <li><a href="Trail/Project1.dpr"><b>Trail</b></a><b>&nbsp;:</b><ul>
-            <li>Demo showing GLTrail object... that blur following SuperFlashMan</li>
-            <li>Simulates collision with distance limitation.</li>
-        </ul>
-    </li>
-    <li><a href="Atmosphere/GLAtmosphereDemo.dpr"><b>Atmosphere</b></a><b>&nbsp;:</b><ul>
-            <li>Simulates the atmosphere of a planet.</li>
-        </ul>
-    </li>
-    <li><a href="GLSLProjectedTexture/GLSLProjectedTextureDemo.dpr"><b>GLSLProjectedTexture</b></a><b>&nbsp;:</b><ul>
-            <li>Demo showing projected textures.</li>
-        </ul>
-    </li>
-    <li><a href="motionblur2/GLMotionBlurDemo.dpr"><b>motionblur2</b></a><b>&nbsp;:</b><ul>
-            <li>Demo showing motionblur using the TGLMotionBlur component</li>
-        </ul>
-    </li>
-    <li><a href="ParticleMasking/ParticleMasksManagerDemo.dpr"><b>ParticleMasking</b></a><b>&nbsp;:</b><ul>
-            <li>Demo showing particle masking, using TGLEParticleMasksManager</li>
-            <li>Particles are masked to only appear inside the chosen character.</li>
-        </ul>
-    </li>
-    <li><a href="posteffect/posteffect.dpr"><b>posteffect</b></a><b>&nbsp;:</b><ul>
-            <li>A demo that shows how the TGLPostEffect component works</li>
-        </ul>
-    </li>
-    <li><a href="projtextures/ProjTextures.dpr"><b>projtextures</b></a><b>&nbsp;:</b><ul>
-            <li>shows how TGLProjectedTextures can be used to simulate projected lights or other special effects.</li>
-        </ul>
-    </li>
-
-</ul>
-<a href="..\demos.htm">Back</a></p>
-</body>
-</html>

+ 1 - 4
Source/GLS.Canvas.pas

@@ -1,15 +1,12 @@
 //
 //
 // The graphics rendering engine GLScene http://glscene.org
 // The graphics rendering engine GLScene http://glscene.org
 //
 //
-
 unit GLS.Canvas;
 unit GLS.Canvas;
-
 (*
 (*
    Implements a basic Canvas-like interface over for OpenGL.
    Implements a basic Canvas-like interface over for OpenGL.
    This class can be used for generic OpenGL applications and has no dependencies
    This class can be used for generic OpenGL applications and has no dependencies
    to the GLScene core units (only to base units).
    to the GLScene core units (only to base units).
 *)
 *)
-
 interface
 interface
 
 
 {$I GLScene.inc}
 {$I GLScene.inc}
@@ -140,7 +137,7 @@ type
     procedure FillEllipse(const x, y: Single; const Radius: Single); overload;
     procedure FillEllipse(const x, y: Single; const Radius: Single); overload;
     (* Draw a filled gradient ellipse.
     (* Draw a filled gradient ellipse.
     OpenGL will use the last PenColor and PenAlpha as the center color and do gradient 
     OpenGL will use the last PenColor and PenAlpha as the center color and do gradient 
-	to edge of ellipse using the edgeColor parameter. *)
+  	to edge of ellipse using the edgeColor parameter. *)
     procedure FillEllipseGradient(const x, y, xRadius, yRadius: Single;
     procedure FillEllipseGradient(const x, y, xRadius, yRadius: Single;
       const edgeColor: TColorVector); overload;
       const edgeColor: TColorVector); overload;
     procedure FillEllipseGradient(const x, y: Integer;
     procedure FillEllipseGradient(const x, y: Integer;

+ 1 - 0
Source/GLS.TexLensFlare.pas

@@ -355,3 +355,4 @@ initialization
 
 
 end.
 end.
 
 
+

+ 1 - 0
Source/GLS.Tree.pas

@@ -1376,3 +1376,4 @@ initialization
 RegisterClasses([TGLTree]);
 RegisterClasses([TGLTree]);
 
 
 end.
 end.
+

+ 0 - 1
Source/GLS.VectorGeometry.pas

@@ -1,7 +1,6 @@
 //
 //
 // The graphics rendering engine GLScene http://glscene.org
 // The graphics rendering engine GLScene http://glscene.org
 //
 //
-
 unit GLS.VectorGeometry;
 unit GLS.VectorGeometry;
 
 
 (*
 (*

+ 1 - 1
Source/Imports.ODE.pas

@@ -80,7 +80,7 @@ const
       ODEDLL = 'ode32d.dll';
       ODEDLL = 'ode32d.dll';
     {$ENDIF}
     {$ENDIF}
   {$ENDIF}
   {$ENDIF}
-  {$IFDEF WIN664}
+  {$IFDEF WIN64}
     {$IFDEF cSINGLE}
     {$IFDEF cSINGLE}
       ODEDLL = 'ode64s.dll';
       ODEDLL = 'ode64s.dll';
     {$ELSE}
     {$ELSE}