Ver Fonte

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

GLScene há 4 anos atrás
pai
commit
241a9d5ad5
88 ficheiros alterados com 1980 adições e 1188 exclusões
  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;
 
 interface
 
 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
   TForm1 = class(TForm)

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

@@ -1,25 +1,19 @@
-{ "Earth" Demo.
-
+(*
+  "Earth"
    See accompanying Readme.txt for user instructions.
-
    The atmospheric effect is rendered in GLDirectOpenGL1Render, which essentially
    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
    while retaining quality. On anything >1 GHz, the rendering is fill-rate
    limited on a GeForce 4 Ti 4200.
-
    Stars support is built into the TGLSkyDome, but constellations are rendered
    via a TGLLines, which is filled in the LoadConstellationLines method.
-
-   Eric Grange
-   http://glscene.org
-}
-
+*)
 program Earth;
 
 uses
   Forms,
-  Unit1 in 'Unit1.pas' {Form1},
+  Unit1 in 'Unit1.pas',
   USolarSystem in 'USolarSystem.pas';
 
 {$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)
    http://www.stjarnhimlen.se/comp/ppcomp.html
@@ -8,13 +13,12 @@
 
    Eric Grange
    http://glscene.org
-}
-unit USolarSystem;
-
+*)
 interface
 
 uses
-  System.SysUtils, System.Math,
+  System.SysUtils,
+  System.Math,
   GLS.VectorGeometry;
 
 type

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

@@ -100,14 +100,14 @@
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
         <BT_BuildType>Debug</BT_BuildType>
-        <VerInfo_Build>90</VerInfo_Build>
+        <VerInfo_Build>91</VerInfo_Build>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
         <VerInfo_MinorVer>8</VerInfo_MinorVer>
         <VerInfo_Debug>true</VerInfo_Debug>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <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>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">

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

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

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

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

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

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

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

@@ -11,7 +11,6 @@ object Form1: TForm1
   Font.Name = 'Tahoma'
   Font.Style = []
   OldCreateOrder = False
-  WindowState = wsMaximized
   OnCreate = FormCreate
   PixelsPerInch = 96
   TextHeight = 13
@@ -23,6 +22,7 @@ object Form1: TForm1
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     FieldOfView = 152.260620117187500000
+    PenAsTouch = False
     Align = alClient
     TabOrder = 0
   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;
 
 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
 	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,
 	since it will automatically add an inertia behaviour to our object if it
 	doesn't have one.
-}
+*)
 program Torque;
 
 uses

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

@@ -1,42 +1,136 @@
 <html>
 
 <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>
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+	{font-family:"Cambria Math";
+	panose-1:2 4 5 3 5 4 6 3 2 4;}
+@font-face
+	{font-family:Consolas;
+	panose-1:2 11 6 9 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman",serif;}
+a:link, span.MsoHyperlink
+	{color:blue;
+	text-decoration:underline;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:purple;
+	text-decoration:underline;}
+p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
+	{mso-style-link:"\0422\0435\043A\0441\0442 \0417\043D\0430\043A";
+	margin-right:0cm;
+	margin-left:0cm;
+	font-size:12.0pt;
+	font-family:"Times New Roman",serif;}
+p.msonormal0, li.msonormal0, div.msonormal0
+	{mso-style-name:msonormal;
+	margin-right:0cm;
+	margin-left:0cm;
+	font-size:12.0pt;
+	font-family:"Times New Roman",serif;}
+span.a
+	{mso-style-name:"\0422\0435\043A\0441\0442 \0417\043D\0430\043A";
+	mso-style-link:\0422\0435\043A\0441\0442;
+	font-family:Consolas;}
+p.msochpdefault, li.msochpdefault, div.msochpdefault
+	{mso-style-name:msochpdefault;
+	margin-right:0cm;
+	margin-left:0cm;
+	font-size:10.0pt;
+	font-family:"Times New Roman",serif;}
+.MsoChpDefault
+	{font-size:10.0pt;}
+@page WordSection1
+	{size:595.3pt 841.9pt;
+	margin:2.0cm 42.5pt 2.0cm 3.0cm;}
+div.WordSection1
+	{page:WordSection1;}
+ /* List Definitions */
+ ol
+	{margin-bottom:0cm;}
+ul
+	{margin-bottom:0cm;}
+-->
+</style>
+
 </head>
 
-<body bgcolor="#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>
 
-<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>
+
 </html>

BIN
Demos/Delphi/bench/Canvas.jpg


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

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

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

@@ -15,13 +15,13 @@ uses
   Vcl.ExtCtrls,
   Vcl.StdCtrls,
 
-  
+
   GLS.Scene,
   GLS.SceneViewer,
   GLS.BitmapFont,
   GLS.WindowsFont,
   GLS.Coordinates,
- 
+
   GLS.BaseClasses,
   GLS.Canvas,
   GLS.Texture,
@@ -34,8 +34,8 @@ type
     BUEllipses: TButton;
     GLSceneViewer: TGLSceneViewer;
     PaintBox: TPaintBox;
-    LAGLCanvas: TLabel;
-    LAGDI: TLabel;
+    lbGLCanvas: TLabel;
+    lbGDI: TLabel;
     Bevel1: TBevel;
     GLScene1: TGLScene;
     GLCamera1: TGLCamera;
@@ -55,11 +55,11 @@ type
       var rci: TGLRenderContextInfo);
     procedure BUArcClick(Sender: TObject);
   private
-     
+
     procedure PaintTheBox;
     procedure Bench;
   public
-     
+
   end;
 
 var
@@ -134,7 +134,7 @@ begin
 
   t := StartPrecisionTimer;
   GLSceneViewer.Refresh;
-  LAGLCanvas.Caption := Format('GLCanvas: %.2f msec',
+  lbGLCanvas.Caption := Format('GLCanvas: %.2f msec',
     [StopPrecisionTimer(t) * 1000]);
 
   Application.ProcessMessages;
@@ -142,74 +142,71 @@ begin
 
   t := StartPrecisionTimer;
   PaintTheBox;
-  LAGDI.Caption := Format('GDI: %.1f msec', [StopPrecisionTimer(t) * 1000]);
+  lbGDI.Caption := Format('GDI: %.1f msec', [StopPrecisionTimer(t) * 1000]);
 end;
 
 procedure TFormCanvas.GLDirectOpenGL1Render(Sender: TObject;
   var rci: TGLRenderContextInfo);
 var
   i, x, y: Integer;
-  glc: TGLCanvas;
+  GLCanvas: TGLCanvas;
   r: TRect;
-  color: TColor;
+  Color: TColor;
 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
-          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;
-      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
-          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;
-      wRects:
-        for i := 1 to cNbRects do
+      end;
+    wTextOut:
+      begin
+        for i := 1 to cNbTextOuts do
         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;
-      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
-          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;
-  glc.Free;
+  GLCanvas.Free;
 end;
 
 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>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </html>

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

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

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

@@ -1,42 +1,125 @@
 <html>
 
 <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>
+<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>
 
-<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>
 
-<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>
-</html>
+
+</html>

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

@@ -1,67 +1,193 @@
 <html>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </html>

BIN
Demos/Delphi/computing/FastFT.jpg


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

@@ -1112,8 +1112,8 @@ object Form1: TForm1
     end
   end
   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'
     Left = 448
     Top = 160

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

@@ -1,50 +1,120 @@
 <html>
 
 <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>
+<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>
 
-<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>
 
-<a href="..\demos.htm">Back</a></p>
+<p class=MsoNormal><span lang=FR><a href="../demos.htm">Back</a></span></p>
+
+</div>
+
 </body>
+
 </html>

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

@@ -1,52 +1,137 @@
 <html>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </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>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </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>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </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
   Forms,
-  SimpleNavigationFm in 'SimpleNavigationFm.pas' {Form1};
+  SimpleNavigationFm in 'SimpleNavigationFm.pas' {FormSimpleNavigation};
 
 {$R *.res}
 
 begin
   Application.Initialize;
-  Application.CreateForm(TForm1, Form1);
+  Application.CreateForm(TFormSimpleNavigation, FormSimpleNavigation);
   Application.Run;
 end.

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

@@ -124,7 +124,7 @@
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
         <DCCReference Include="SimpleNavigationFm.pas">
-            <Form>Form1</Form>
+            <Form>FormSimpleNavigation</Form>
         </DCCReference>
         <BuildConfiguration Include="Debug">
             <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
   Top = 126
   Caption = 'Simple Navigation'
@@ -24,8 +24,6 @@ object Form1: TForm1
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
-    ExplicitWidth = 517
-    ExplicitHeight = 420
   end
   object GLScene1: TGLScene
     Left = 48

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

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

BIN
Demos/Delphi/interface/Winfont.jpg


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

@@ -1,124 +1,277 @@
 <html>
 
 <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>
+<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>
 
-<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>
 
+<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>
+
 </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>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </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>
 
 <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>
+<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>
 
-<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>
 
-<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>
+
 </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
 //
-
 unit GLS.Canvas;
-
 (*
    Implements a basic Canvas-like interface over for OpenGL.
    This class can be used for generic OpenGL applications and has no dependencies
    to the GLScene core units (only to base units).
 *)
-
 interface
 
 {$I GLScene.inc}
@@ -140,7 +137,7 @@ type
     procedure FillEllipse(const x, y: Single; const Radius: Single); overload;
     (* Draw a filled gradient ellipse.
     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;
       const edgeColor: TColorVector); overload;
     procedure FillEllipseGradient(const x, y: Integer;

+ 1 - 0
Source/GLS.TexLensFlare.pas

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

+ 1 - 0
Source/GLS.Tree.pas

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

+ 0 - 1
Source/GLS.VectorGeometry.pas

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

+ 1 - 1
Source/Imports.ODE.pas

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