Forráskód Böngészése

Fixed conflict of wgl.. in GLS.OpenGLAdapter for c++ Builder

GLScene 4 éve
szülő
commit
9ab0551be2

+ 0 - 2
Demos/CPP/behaviours/PathControl/Unit1.dfm

@@ -25,8 +25,6 @@ object Form1: TForm1
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
-    ExplicitWidth = 497
-    ExplicitHeight = 378
   end
   object MoveBtn: TBitBtn
     Left = 0

+ 18 - 12
Demos/CPP/behaviours/Torque/Torque.cbproj

@@ -8,7 +8,7 @@
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
-        <TargetedPlatforms>1</TargetedPlatforms>
+        <TargetedPlatforms>3</TargetedPlatforms>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>
@@ -94,8 +94,9 @@
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <PackageImports>IndyIPClient;GLScene_Sounds_RT;frx17;fs17;GLScene_Physics_RT;GLScene_Cg_RT;bindcompfmx;DBXSqliteDriver;vcldbx;GLScene_Physics_RT;fmx;rtl;dbrtl;DbxClientDriver;IndySystem;TeeDB;bindcomp;inetdb;inetdbbde;vclib;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DBXOdbcDriver;DataSnapServer;Tee;GLScene_RT;DataSnapProviderClient;xmlrtl;DBXSybaseASEDriver;ibxpress;DbxCommonDriver;vclimg;GLScene_Sounds_RT;IndyProtocols;DBXMySQLDriver;dbxcds;MetropolisUILiveTile;bindengine;vclactnband;vcldb;soaprtl;bindcompdbx;vcldsnap;bindcompvcl;FMXTee;TeeUI;vclie;DBXDb2Driver;vcltouch;bcbsmp;websnap;DBXOracleDriver;CustomIPTransport;vclribbon;VclSmp;dsnap;DBXInformixDriver;IndyIPServer;fmxase;vcl;DataSnapConnectors;IndyCore;GLScene_Sounds_RT;DBXMSSQLDriver;CodeSiteExpressPkg;CloudService;DBXFirebirdDriver;dsnapcon;frxDB17;inet;fsDB17;fmxobj;IndyIPCommon;FmxTeeUI;vclx;frxe17;inetdbxpress;webdsnap;DBXSybaseASADriver;fmxdae;bdertl;dbexpress;DataSnapIndy10ServerTransport;adortl;bcbie;$(PackageImports)</PackageImports>
-        <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
         <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+        <BT_BuildType>Debug</BT_BuildType>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1)'!=''">
         <BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed>
@@ -128,6 +129,9 @@
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
         <Defines>_DEBUG;$(Defines)</Defines>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <LinkPackageImports>rtl.bpi;vcl.bpi;fmx.bpi;xmlrtl.bpi;vclimg.bpi;GLScene_RT.bpi</LinkPackageImports>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2)'!=''">
         <TASM_Debugging>None</TASM_Debugging>
@@ -140,18 +144,20 @@
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
         <Defines>NDEBUG;$(Defines)</Defines>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
     </PropertyGroup>
     <ItemGroup>
         <CppCompile Include="Torque.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="Unit1.cpp">
+        <CppCompile Include="TorqueFm.cpp">
             <Form>Form1</Form>
             <FormType>dfm</FormType>
-            <DependentOn>Unit1.h</DependentOn>
+            <DependentOn>TorqueFm.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="Unit1.dfm"/>
+        <FormResources Include="TorqueFm.dfm"/>
         <BuildConfiguration Include="Release">
             <Key>Cfg_2</Key>
             <CfgParent>Base</CfgParent>
@@ -221,7 +227,7 @@
                 </Excluded_Packages>
             </CPlusPlusBuilder.Personality>
             <Deployment Version="3">
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64230.dll" Class="DependencyModule">
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64230mt.dll" Class="DependencyModule">
                     <Platform Name="Win64">
                         <Overwrite>true</Overwrite>
                     </Platform>
@@ -316,6 +322,11 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
+                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64230.dll" Class="DependencyModule">
+                    <Platform Name="Win64">
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -326,11 +337,6 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64230mt.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">
                         <Operation>1</Operation>
@@ -1076,7 +1082,7 @@
             </Deployment>
             <Platforms>
                 <Platform value="Win32">True</Platform>
-                <Platform value="Win64">False</Platform>
+                <Platform value="Win64">True</Platform>
             </Platforms>
         </BorlandProject>
         <ProjectFileVersion>12</ProjectFileVersion>

+ 1 - 1
Demos/CPP/behaviours/Torque/Torque.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("Unit1.cpp", Form1);
+USEFORM("TorqueFm.cpp", Form1);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {

+ 71 - 70
Demos/CPP/behaviours/Torque/Unit1.cpp → Demos/CPP/behaviours/Torque/TorqueFm.cpp

@@ -1,70 +1,71 @@
-//---------------------------------------------------------------------------
-
-#include <vcl.h>
-#pragma hdrstop
-
-#include "Unit1.h"
-//---------------------------------------------------------------------------
-#pragma package(smart_init)
-#pragma link "GLS.BaseClasses"
-#pragma link "GLS.Cadencer"
-#pragma link "GLS.Coordinates"
-
-#pragma link "GLS.Objects"
-#pragma link "GLS.GeomObjects"
-#pragma link "GLS.Scene"
-#pragma link "GLS.SceneViewer"
-#pragma resource "*.dfm"
-TForm1 *Form1;
-//---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
-	: TForm(Owner)
-{
-}
-//---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject *Sender)
-{
-	// Initialize last time
-	lastTime = 24*3600*(Now());
-	// Initialize rotation dampings...
-	// ...using properties...
-	GetOrCreateInertia(Hexahedron->Behaviours)->RotationDamping->Constant = 1;
-	GetOrCreateInertia(Hexahedron->Behaviours)->RotationDamping->Linear = 1;
-	GetOrCreateInertia(Hexahedron->Behaviours)->RotationDamping->Quadratic = 0;
-	// ...using helper function on the TGLBehaviours...
-	GetOrCreateInertia(Dodecahedron->Behaviours)->RotationDamping->SetDamping(10, 0, 0.01);
-	// ...or using helper function directly on the TGLBaseSceneObject
-	GetOrCreateInertia(Octahedron)->RotationDamping->SetDamping(0, 0, 0.01);
-	GetOrCreateInertia(Icosahedron)->RotationDamping->SetDamping(10, 0, 0.01);
-	GetOrCreateInertia(Tetrahedron)->RotationDamping->SetDamping(0, 0, 0.01);
-}
-//---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
-          int X, int Y)
-{
-	// Mouse moved, get what's underneath
-	pickedObject = GLSceneViewer1->Buffer->GetPickedObject(X, Y);
-}
-//---------------------------------------------------------------------------
-void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
-          const double newTime)
-{
-	// apply some "torque" to the pickedObject if any
-  if (pickedObject)
-	 GetOrCreateInertia(pickedObject)->ApplyTorque(deltaTime, 200, 0, 0);
-}
-//---------------------------------------------------------------------------
-void __fastcall TForm1::CheckBox1Click(TObject *Sender)
-{
-	int i;
-	Single mass;
-
-	if (CheckBox1->Checked)
-		mass = 2;
-	else
-		mass = 1;
-	// all our objects are child of the DummyCube1
-	for (i=0; i < DummyCube1->Count-1; i++)
-		GetOrCreateInertia(DummyCube1->Children[i])->Mass = mass;
-}
-//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+
+#include "TorqueFm.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma link "GLS.BaseClasses"
+#pragma link "GLS.Cadencer"
+#pragma link "GLS.Coordinates"
+
+#pragma link "GLS.Objects"
+#pragma link "GLS.GeomObjects"
+#pragma link "GLS.Scene"
+#pragma link "GLS.SceneViewer"
+#pragma link "GLS.VectorFileObjects"
+#pragma resource "*.dfm"
+TForm1 *Form1;
+//---------------------------------------------------------------------------
+__fastcall TForm1::TForm1(TComponent* Owner)
+	: TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::FormCreate(TObject *Sender)
+{
+	// Initialize last time
+	lastTime = 24*3600*(Now());
+	// Initialize rotation dampings...
+	// ...using properties...
+	GetOrCreateInertia(Hexahedron->Behaviours)->RotationDamping->Constant = 1;
+	GetOrCreateInertia(Hexahedron->Behaviours)->RotationDamping->Linear = 1;
+	GetOrCreateInertia(Hexahedron->Behaviours)->RotationDamping->Quadratic = 0;
+	// ...using helper function on the TGLBehaviours...
+	GetOrCreateInertia(Dodecahedron->Behaviours)->RotationDamping->SetDamping(10, 0, 0.01);
+	// ...or using helper function directly on the TGLBaseSceneObject
+	GetOrCreateInertia(Octahedron)->RotationDamping->SetDamping(0, 0, 0.01);
+	GetOrCreateInertia(Icosahedron)->RotationDamping->SetDamping(10, 0, 0.01);
+	GetOrCreateInertia(Tetrahedron)->RotationDamping->SetDamping(0, 0, 0.01);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
+          int X, int Y)
+{
+	// Mouse moved, get what's underneath
+	pickedObject = GLSceneViewer1->Buffer->GetPickedObject(X, Y);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
+          const double newTime)
+{
+	// apply some "torque" to the pickedObject if any
+  if (pickedObject)
+	 GetOrCreateInertia(pickedObject)->ApplyTorque(deltaTime, 200, 0, 0);
+}
+//---------------------------------------------------------------------------
+void __fastcall TForm1::CheckBox1Click(TObject *Sender)
+{
+	int i;
+	Single mass;
+
+	if (CheckBox1->Checked)
+		mass = 2;
+	else
+		mass = 1;
+	// all our objects are child of the DummyCube1
+	for (i=0; i < DummyCube1->Count-1; i++)
+		GetOrCreateInertia(DummyCube1->Children[i])->Mass = mass;
+}
+//---------------------------------------------------------------------------

+ 149 - 148
Demos/CPP/behaviours/Torque/Unit1.dfm → Demos/CPP/behaviours/Torque/TorqueFm.dfm

@@ -1,148 +1,149 @@
-object Form1: TForm1
-  Left = 0
-  Top = 0
-  Caption = 'Torque'
-  ClientHeight = 288
-  ClientWidth = 840
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object GLSceneViewer1: TGLSceneViewer
-    Left = 0
-    Top = 78
-    Width = 840
-    Height = 169
-    Camera = GLCamera1
-    FieldOfView = 80.395622253417970000
-    Align = alClient
-    OnMouseMove = GLSceneViewer1MouseMove
-    TabOrder = 0
-  end
-  object Panel1: TPanel
-    Left = 0
-    Top = 0
-    Width = 840
-    Height = 78
-    Align = alTop
-    TabOrder = 1
-    object Label2: TLabel
-      Left = 280
-      Top = 8
-      Width = 114
-      Height = 39
-      Alignment = taCenter
-      Caption = 'Hexahedron has a small constant'#13#10'and linear damping'
-      WordWrap = True
-    end
-    object Label3: TLabel
-      Left = 472
-      Top = 8
-      Width = 99
-      Height = 39
-      Alignment = taCenter
-      Caption = 'Dodecahedron has a'#13#10'small constant and'#13#10'quadratic damping'
-      WordWrap = True
-    end
-    object Label4: TLabel
-      Left = 128
-      Top = 8
-      Width = 86
-      Height = 39
-      Alignment = taCenter
-      Caption = 'Octahedron has a'#13#10'only quadratic damping'
-      WordWrap = True
-    end
-    object Label1: TLabel
-      Left = 8
-      Top = 10
-      Width = 86
-      Height = 39
-      Caption = 'Tetrahedron has an only quadratic damping'
-      WordWrap = True
-    end
-    object Label5: TLabel
-      Left = 604
-      Top = 8
-      Width = 115
-      Height = 39
-      Alignment = taCenter
-      Caption = 'Icosahedron has a small constant'#13#10'and linear damping'
-      WordWrap = True
-    end
-    object CheckBox1: TCheckBox
-      Left = 8
-      Top = 55
-      Width = 81
-      Height = 17
-      Caption = 'Double Mass'
-      TabOrder = 0
-      OnClick = CheckBox1Click
-    end
-  end
-  object Panel2: TPanel
-    Left = 0
-    Top = 247
-    Width = 840
-    Height = 41
-    Align = alBottom
-    Caption = 'Move your mouse over an object and it will start spinning'
-    TabOrder = 2
-  end
-  object GLScene1: TGLScene
-    Left = 16
-    Top = 80
-    object GLLightSource1: TGLLightSource
-      ConstAttenuation = 1.000000000000000000
-      Position.Coordinates = {0000704100002041000020C10000803F}
-      SpotCutOff = 180.000000000000000000
-    end
-    object DummyCube1: TGLDummyCube
-      CubeSize = 1.000000000000000000
-      object Tetrahedron: TGLTetrahedron
-        Material.FrontProperties.Diffuse.Color = {EBE0E03EE4DB5B3FE4DB5B3F0000803F}
-        Direction.Coordinates = {2EF9E43E000000002EF9643F00000000}
-        Position.Coordinates = {0000000000000000000080400000803F}
-        Scale.Coordinates = {0000003F0000003F0000003F00000000}
-      end
-      object Octahedron: TGLOctahedron
-        Material.FrontProperties.Diffuse.Color = {CDCC4C3FF8FEFE3EACC8483E0000803F}
-        Position.Coordinates = {0000000000000000000000400000803F}
-        Scale.Coordinates = {CDCC4C3FCDCC4C3FCDCC4C3F00000000}
-      end
-      object Hexahedron: TGLCube
-        Material.FrontProperties.Diffuse.Color = {F8FEFE3E0000803F000000000000803F}
-        Direction.Coordinates = {0000003F00000000D7B35D3F00000000}
-        TurnAngle = 30.000000000000000000
-      end
-      object Dodecahedron: TGLDodecahedron
-        Material.FrontProperties.Diffuse.Color = {0000803F00000000000000000000803F}
-        Position.Coordinates = {0000000000000000000000C00000803F}
-        Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
-      end
-      object Icosahedron: TGLIcosahedron
-        Material.FrontProperties.Diffuse.Color = {14AE073F8FC2F53DD7A3F03E0000803F}
-        Position.Coordinates = {0000000000000000000080C00000803F}
-        Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
-      end
-    end
-    object GLCamera1: TGLCamera
-      DepthOfView = 100.000000000000000000
-      FocalLength = 100.000000000000000000
-      TargetObject = DummyCube1
-      Position.Coordinates = {000020410000A040000000000000803F}
-    end
-  end
-  object GLCadencer1: TGLCadencer
-    Scene = GLScene1
-    OnProgress = GLCadencer1Progress
-    Left = 88
-    Top = 80
-  end
-end
+object Form1: TForm1
+  Left = 0
+  Top = 0
+  Caption = 'Torque'
+  ClientHeight = 288
+  ClientWidth = 840
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -11
+  Font.Name = 'Tahoma'
+  Font.Style = []
+  OldCreateOrder = False
+  OnCreate = FormCreate
+  PixelsPerInch = 96
+  TextHeight = 13
+  object GLSceneViewer1: TGLSceneViewer
+    Left = 0
+    Top = 78
+    Width = 840
+    Height = 169
+    Camera = GLCamera1
+    FieldOfView = 80.395622253417970000
+    PenAsTouch = False
+    Align = alClient
+    OnMouseMove = GLSceneViewer1MouseMove
+    TabOrder = 0
+  end
+  object Panel1: TPanel
+    Left = 0
+    Top = 0
+    Width = 840
+    Height = 78
+    Align = alTop
+    TabOrder = 1
+    object Label2: TLabel
+      Left = 280
+      Top = 8
+      Width = 114
+      Height = 39
+      Alignment = taCenter
+      Caption = 'Hexahedron has a small constant'#13#10'and linear damping'
+      WordWrap = True
+    end
+    object Label3: TLabel
+      Left = 472
+      Top = 8
+      Width = 99
+      Height = 39
+      Alignment = taCenter
+      Caption = 'Dodecahedron has a'#13#10'small constant and'#13#10'quadratic damping'
+      WordWrap = True
+    end
+    object Label4: TLabel
+      Left = 128
+      Top = 8
+      Width = 86
+      Height = 39
+      Alignment = taCenter
+      Caption = 'Octahedron has a'#13#10'only quadratic damping'
+      WordWrap = True
+    end
+    object Label1: TLabel
+      Left = 8
+      Top = 10
+      Width = 86
+      Height = 39
+      Caption = 'Tetrahedron has an only quadratic damping'
+      WordWrap = True
+    end
+    object Label5: TLabel
+      Left = 604
+      Top = 8
+      Width = 115
+      Height = 39
+      Alignment = taCenter
+      Caption = 'Icosahedron has a small constant'#13#10'and linear damping'
+      WordWrap = True
+    end
+    object CheckBox1: TCheckBox
+      Left = 8
+      Top = 55
+      Width = 81
+      Height = 17
+      Caption = 'Double Mass'
+      TabOrder = 0
+      OnClick = CheckBox1Click
+    end
+  end
+  object Panel2: TPanel
+    Left = 0
+    Top = 247
+    Width = 840
+    Height = 41
+    Align = alBottom
+    Caption = 'Move your mouse over an object and it will start spinning'
+    TabOrder = 2
+  end
+  object GLScene1: TGLScene
+    Left = 16
+    Top = 80
+    object GLLightSource1: TGLLightSource
+      ConstAttenuation = 1.000000000000000000
+      Position.Coordinates = {0000704100002041000020C10000803F}
+      SpotCutOff = 180.000000000000000000
+    end
+    object DummyCube1: TGLDummyCube
+      CubeSize = 1.000000000000000000
+      object Tetrahedron: TGLTetrahedron
+        Material.FrontProperties.Diffuse.Color = {EBE0E03EE4DB5B3FE4DB5B3F0000803F}
+        Direction.Coordinates = {2EF9E43E000000002EF9643F00000000}
+        Position.Coordinates = {0000000000000000000080400000803F}
+        Scale.Coordinates = {0000003F0000003F0000003F00000000}
+      end
+      object Octahedron: TGLOctahedron
+        Material.FrontProperties.Diffuse.Color = {CDCC4C3FF8FEFE3EACC8483E0000803F}
+        Position.Coordinates = {0000000000000000000000400000803F}
+        Scale.Coordinates = {CDCC4C3FCDCC4C3FCDCC4C3F00000000}
+      end
+      object Hexahedron: TGLCube
+        Material.FrontProperties.Diffuse.Color = {F8FEFE3E0000803F000000000000803F}
+        Direction.Coordinates = {0000003F00000000D7B35D3F00000000}
+        TurnAngle = 30.000000000000000000
+      end
+      object Dodecahedron: TGLDodecahedron
+        Material.FrontProperties.Diffuse.Color = {0000803F00000000000000000000803F}
+        Position.Coordinates = {0000000000000000000000C00000803F}
+        Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
+      end
+      object Icosahedron: TGLIcosahedron
+        Material.FrontProperties.Diffuse.Color = {14AE073F8FC2F53DD7A3F03E0000803F}
+        Position.Coordinates = {0000000000000000000080C00000803F}
+        Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
+      end
+    end
+    object GLCamera1: TGLCamera
+      DepthOfView = 100.000000000000000000
+      FocalLength = 100.000000000000000000
+      TargetObject = DummyCube1
+      Position.Coordinates = {000020410000A040000000000000803F}
+    end
+  end
+  object GLCadencer1: TGLCadencer
+    Scene = GLScene1
+    OnProgress = GLCadencer1Progress
+    Left = 88
+    Top = 80
+  end
+end

+ 60 - 59
Demos/CPP/behaviours/Torque/Unit1.h → Demos/CPP/behaviours/Torque/TorqueFm.h

@@ -1,59 +1,60 @@
-//---------------------------------------------------------------------------
-
-#ifndef Unit1H
-#define Unit1H
-//---------------------------------------------------------------------------
-#include <tchar.h>
-#include <System.Classes.hpp>
-#include <Vcl.Controls.hpp>
-#include <Vcl.StdCtrls.hpp>
-#include <Vcl.Forms.hpp>
-#include <Vcl.ExtCtrls.hpp>
-#include "GLS.BaseClasses.hpp"
-#include "GLS.Cadencer.hpp"
-#include "GLS.Coordinates.hpp"
-
-#include "GLS.Objects.hpp"
-#include "GLS.GeomObjects.hpp"
-#include "GLS.Scene.hpp"
-#include "GLS.SceneViewer.hpp"
-#include "GLS.Behaviours.hpp"
-//---------------------------------------------------------------------------
-class TForm1 : public TForm
-{
-__published:	// IDE-managed Components
-	TGLSceneViewer *GLSceneViewer1;
-	TPanel *Panel1;
-	TLabel *Label2;
-	TLabel *Label3;
-	TLabel *Label4;
-	TLabel *Label1;
-	TLabel *Label5;
-	TCheckBox *CheckBox1;
-	TPanel *Panel2;
-	TGLScene *GLScene1;
-	TGLLightSource *GLLightSource1;
-	TGLDummyCube *DummyCube1;
-	TGLTetrahedron *Tetrahedron;
-	TGLOctahedron *Octahedron;
-	TGLCube *Hexahedron;
-	TGLDodecahedron *Dodecahedron;
-	TGLIcosahedron *Icosahedron;
-	TGLCamera *GLCamera1;
-	TGLCadencer *GLCadencer1;
-	void __fastcall FormCreate(TObject *Sender);
-	void __fastcall GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift, int X,
-          int Y);
-	void __fastcall GLCadencer1Progress(TObject *Sender, const double deltaTime, const double newTime);
-	void __fastcall CheckBox1Click(TObject *Sender);
-
-private:	// User declarations
-	Double lastTime;
-	TGLBaseSceneObject *pickedObject;
-public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
-};
-//---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
-//---------------------------------------------------------------------------
-#endif
+//---------------------------------------------------------------------------
+
+#ifndef TorqueFmH
+#define TorqueFmH
+//---------------------------------------------------------------------------
+#include <tchar.h>
+#include <System.Classes.hpp>
+#include <Vcl.Controls.hpp>
+#include <Vcl.StdCtrls.hpp>
+#include <Vcl.Forms.hpp>
+#include <Vcl.ExtCtrls.hpp>
+#include "GLS.BaseClasses.hpp"
+#include "GLS.Cadencer.hpp"
+#include "GLS.Coordinates.hpp"
+
+#include "GLS.Objects.hpp"
+#include "GLS.GeomObjects.hpp"
+#include "GLS.Scene.hpp"
+#include "GLS.SceneViewer.hpp"
+#include "GLS.Behaviours.hpp"
+#include "GLS.VectorFileObjects.hpp"
+//---------------------------------------------------------------------------
+class TForm1 : public TForm
+{
+__published:	// IDE-managed Components
+	TGLSceneViewer *GLSceneViewer1;
+	TPanel *Panel1;
+	TLabel *Label2;
+	TLabel *Label3;
+	TLabel *Label4;
+	TLabel *Label1;
+	TLabel *Label5;
+	TCheckBox *CheckBox1;
+	TPanel *Panel2;
+	TGLScene *GLScene1;
+	TGLLightSource *GLLightSource1;
+	TGLDummyCube *DummyCube1;
+	TGLTetrahedron *Tetrahedron;
+	TGLOctahedron *Octahedron;
+	TGLCube *Hexahedron;
+	TGLDodecahedron *Dodecahedron;
+	TGLIcosahedron *Icosahedron;
+	TGLCamera *GLCamera1;
+	TGLCadencer *GLCadencer1;
+	void __fastcall FormCreate(TObject *Sender);
+	void __fastcall GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift, int X,
+          int Y);
+	void __fastcall GLCadencer1Progress(TObject *Sender, const double deltaTime, const double newTime);
+	void __fastcall CheckBox1Click(TObject *Sender);
+
+private:	// User declarations
+	Double lastTime;
+	TGLBaseSceneObject *pickedObject;
+public:		// User declarations
+	__fastcall TForm1(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TForm1 *Form1;
+//---------------------------------------------------------------------------
+#endif

+ 1 - 0
Demos/Delphi/meshes/MushroomFm.pas

@@ -13,6 +13,7 @@ uses
   Vcl.StdCtrls,
   Vcl.ExtCtrls,
 
+  GLS.VectorTypes,
   GLS.VectorGeometry,
   GLS.Texture,
   GLS.Scene,

+ 1 - 1
Demos/Delphi/meshes/Skeletal.dproj

@@ -8,7 +8,7 @@
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <ProjectVersion>19.0</ProjectVersion>
-        <Platform Condition="'$(Platform)'==''">Win64</Platform>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>

+ 0 - 1
Source/GLS.Mesh.pas

@@ -21,7 +21,6 @@ uses
   System.SysUtils,
 
   GLS.OpenGLTokens,
-  GLS.OpenGLAdapter,
   GLS.Strings,
   GLS.XOpenGL,
   GLS.Context,

+ 6 - 5
Source/GLS.OpenGLAdapter.pas

@@ -1,7 +1,6 @@
 //
 // The graphics rendering engine GLScene http://glscene.org
 //
-
 unit GLS.OpenGLAdapter;
 
 (* OpenGL adapter *)
@@ -31,7 +30,7 @@ const
     opengl32 = '/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib';
     glu32 = '/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib';
     {$ELSE}
-    Unsupported platform 
+    Unsupported platform
     {$ENDIF}
   {$ELSE}
   opengl32 = 'OpenGL32.dll';
@@ -1588,15 +1587,16 @@ function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: cardinal): BOOL; stdcall; exte
 function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
 function wglCreateLayerContext(p1: HDC; p2: integer): HGLRC; stdcall; external opengl32;
 function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
-function wglDescribeLayerPlane(p1: HDC; p2, p3: integer; p4: cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
+///function wglDescribeLayerPlane(p1: HDC; p2, p3: integer; p4: cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
 function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
 function wglGetCurrentDC: HDC; stdcall; external opengl32;
-function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
+///function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
 function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
 function wglRealizeLayerPalette(p1: HDC; p2: integer; p3: BOOL): BOOL; stdcall; external opengl32;
-function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
+///function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
 function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
 function wglSwapLayerBuffers(p1: HDC; p2: cardinal): BOOL; stdcall; external opengl32;
+(*
 function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32;
 function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32;
 function wglUseFontOutlinesA(p1: HDC; p2, p3, p4: DWORD; p5, p6: single;
@@ -1607,6 +1607,7 @@ function wglUseFontOutlinesW(p1: HDC; p2, p3, p4: DWORD; p5, p6: single;
 function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 Name 'wglUseFontBitmapsA';
 function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: single;
   p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 Name 'wglUseFontOutlinesA';
+*)
 {$ENDIF}