Browse Source

Updated cpp demos

GLScene 4 years ago
parent
commit
b2e07832b5

+ 0 - 35
Demos/cgshaders/cellshading/CgCellShadingC.cpp

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

+ 0 - 788
Demos/cgshaders/texturing/fTexturingC.dfm

@@ -1,788 +0,0 @@
-object Form1: TForm1
-  Left = 0
-  Top = 0
-  Caption = 'Cg Multi Texturing'
-  ClientHeight = 414
-  ClientWidth = 995
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  OnCreate = FormCreate
-  OnKeyPress = FormKeyPress
-  OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Splitter1: TSplitter
-    Left = 313
-    Top = 0
-    Height = 414
-    Color = clBtnShadow
-    ParentColor = False
-    ExplicitTop = -4
-    ExplicitHeight = 395
-  end
-  object Panel1: TPanel
-    Left = 0
-    Top = 0
-    Width = 313
-    Height = 414
-    Align = alLeft
-    BevelInner = bvRaised
-    BevelOuter = bvLowered
-    TabOrder = 0
-    object PageControl1: TPageControl
-      Left = 2
-      Top = 2
-      Width = 309
-      Height = 410
-      ActivePage = TabSheet3
-      Align = alClient
-      Font.Charset = ANSI_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = []
-      ParentFont = False
-      TabOrder = 0
-      object TabSheet1: TTabSheet
-        Caption = 'Vertex Program'
-        ExplicitLeft = 0
-        ExplicitTop = 0
-        ExplicitWidth = 0
-        ExplicitHeight = 0
-        object Splitter3: TSplitter
-          Left = 0
-          Top = 289
-          Width = 301
-          Height = 3
-          Cursor = crVSplit
-          Align = alBottom
-          Color = clBtnShadow
-          ParentColor = False
-          ExplicitTop = 276
-        end
-        object Panel2: TPanel
-          Left = 0
-          Top = 0
-          Width = 301
-          Height = 25
-          Align = alTop
-          BevelOuter = bvNone
-          TabOrder = 0
-          object LabelVertProfile: TLabel
-            Left = 88
-            Top = 5
-            Width = 63
-            Height = 13
-            Caption = 'Using profile:'
-          end
-          object CBVertexProgram: TCheckBox
-            Left = 6
-            Top = 4
-            Width = 59
-            Height = 17
-            Caption = 'Enabled'
-            Checked = True
-            Font.Charset = ANSI_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentFont = False
-            State = cbChecked
-            TabOrder = 0
-            OnClick = CBVertexProgramClick
-          end
-        end
-        object Panel11: TPanel
-          Left = 0
-          Top = 25
-          Width = 301
-          Height = 264
-          Align = alClient
-          Caption = 'Panel6'
-          TabOrder = 1
-          object Panel12: TPanel
-            Left = 1
-            Top = 1
-            Width = 299
-            Height = 16
-            Align = alTop
-            BevelOuter = bvNone
-            Caption = 'Shader Code'
-            Color = clBtnHighlight
-            TabOrder = 0
-          end
-          object MemoVertCode: TMemo
-            Left = 1
-            Top = 17
-            Width = 299
-            Height = 221
-            Align = alClient
-            Font.Charset = ANSI_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -11
-            Font.Name = 'Lucida Console'
-            Font.Style = []
-            ParentFont = False
-            ScrollBars = ssBoth
-            TabOrder = 1
-            WordWrap = False
-            OnChange = MemoVertCodeChange
-          end
-          object Panel13: TPanel
-            Left = 1
-            Top = 238
-            Width = 299
-            Height = 25
-            Align = alBottom
-            BevelOuter = bvNone
-            TabOrder = 2
-            DesignSize = (
-              299
-              25)
-            object ButtonApplyVP: TButton
-              Left = 224
-              Top = 2
-              Width = 67
-              Height = 20
-              Anchors = [akTop, akRight]
-              Caption = 'Apply'
-              Enabled = False
-              TabOrder = 0
-              OnClick = ButtonApplyVPClick
-            end
-          end
-        end
-        object Panel5: TPanel
-          Left = 0
-          Top = 292
-          Width = 301
-          Height = 90
-          Align = alBottom
-          TabOrder = 2
-          DesignSize = (
-            301
-            90)
-          object Label2: TLabel
-            Left = 228
-            Top = 5
-            Width = 30
-            Height = 13
-            Anchors = [akTop, akRight]
-            Caption = 'Show:'
-          end
-          object Memo1: TMemo
-            Left = 1
-            Top = 1
-            Width = 216
-            Height = 88
-            Align = alLeft
-            Anchors = [akLeft, akTop, akRight, akBottom]
-            Color = clBtnFace
-            Font.Charset = ANSI_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -9
-            Font.Name = 'Lucida Console'
-            Font.Style = []
-            ParentFont = False
-            ReadOnly = True
-            ScrollBars = ssBoth
-            TabOrder = 0
-            WordWrap = False
-          end
-          object Button1: TButton
-            Left = 226
-            Top = 21
-            Width = 64
-            Height = 18
-            Anchors = [akTop, akRight]
-            Caption = 'Params'
-            TabOrder = 1
-            OnClick = Button1Click
-          end
-          object Button4: TButton
-            Left = 226
-            Top = 42
-            Width = 64
-            Height = 18
-            Anchors = [akTop, akRight]
-            Caption = 'Asm'
-            TabOrder = 2
-            OnClick = Button4Click
-          end
-        end
-      end
-      object TabSheet2: TTabSheet
-        Caption = 'Fragment Program'
-        ImageIndex = 1
-        ExplicitLeft = 0
-        ExplicitTop = 0
-        ExplicitWidth = 0
-        ExplicitHeight = 0
-        object Splitter2: TSplitter
-          Left = 0
-          Top = 289
-          Width = 301
-          Height = 3
-          Cursor = crVSplit
-          Align = alBottom
-          Color = clBtnShadow
-          ParentColor = False
-          ExplicitTop = 287
-        end
-        object Panel4: TPanel
-          Left = 0
-          Top = 0
-          Width = 301
-          Height = 25
-          Align = alTop
-          BevelOuter = bvNone
-          TabOrder = 0
-          object LabelFragProfile: TLabel
-            Left = 88
-            Top = 5
-            Width = 63
-            Height = 13
-            Caption = 'Using profile:'
-          end
-          object CBFragmentProgram: TCheckBox
-            Left = 6
-            Top = 4
-            Width = 67
-            Height = 17
-            Caption = 'Enabled'
-            Checked = True
-            State = cbChecked
-            TabOrder = 0
-            OnClick = CBFragmentProgramClick
-          end
-        end
-        object Panel6: TPanel
-          Left = 0
-          Top = 25
-          Width = 301
-          Height = 264
-          Align = alClient
-          Caption = 'Panel6'
-          TabOrder = 1
-          object Panel7: TPanel
-            Left = 1
-            Top = 1
-            Width = 299
-            Height = 16
-            Align = alTop
-            BevelOuter = bvNone
-            Caption = 'Shader Code'
-            Color = clBtnHighlight
-            TabOrder = 0
-          end
-          object MemoFragCode: TMemo
-            Left = 1
-            Top = 17
-            Width = 299
-            Height = 221
-            Align = alClient
-            Font.Charset = ANSI_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -11
-            Font.Name = 'Lucida Console'
-            Font.Style = []
-            ParentFont = False
-            ScrollBars = ssBoth
-            TabOrder = 1
-            WordWrap = False
-            OnChange = MemoFragCodeChange
-          end
-          object Panel3: TPanel
-            Left = 1
-            Top = 238
-            Width = 299
-            Height = 25
-            Align = alBottom
-            BevelOuter = bvNone
-            TabOrder = 2
-            DesignSize = (
-              299
-              25)
-            object ButtonApplyFP: TButton
-              Left = 224
-              Top = 2
-              Width = 67
-              Height = 20
-              Anchors = [akTop, akRight]
-              Caption = 'Apply'
-              Enabled = False
-              TabOrder = 0
-              OnClick = ButtonApplyFPClick
-            end
-          end
-        end
-        object Panel8: TPanel
-          Left = 0
-          Top = 292
-          Width = 301
-          Height = 90
-          Align = alBottom
-          TabOrder = 2
-          DesignSize = (
-            301
-            90)
-          object Label1: TLabel
-            Left = 228
-            Top = 5
-            Width = 30
-            Height = 13
-            Anchors = [akTop, akRight]
-            Caption = 'Show:'
-          end
-          object Memo3: TMemo
-            Left = 1
-            Top = 1
-            Width = 216
-            Height = 88
-            Align = alLeft
-            Anchors = [akLeft, akTop, akRight, akBottom]
-            Color = clBtnFace
-            Font.Charset = ANSI_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -11
-            Font.Name = 'Courier New'
-            Font.Style = []
-            ParentFont = False
-            ReadOnly = True
-            ScrollBars = ssBoth
-            TabOrder = 0
-            WordWrap = False
-          end
-          object Button2: TButton
-            Left = 226
-            Top = 21
-            Width = 64
-            Height = 18
-            Anchors = [akTop, akRight]
-            Caption = 'Params'
-            TabOrder = 1
-            OnClick = Button2Click
-          end
-          object Button3: TButton
-            Left = 226
-            Top = 42
-            Width = 64
-            Height = 18
-            Anchors = [akTop, akRight]
-            Caption = 'Asm'
-            TabOrder = 2
-            OnClick = Button3Click
-          end
-        end
-      end
-      object TabSheet3: TTabSheet
-        Caption = 'Controls'
-        ImageIndex = 2
-        ExplicitLeft = 0
-        ExplicitTop = 0
-        ExplicitWidth = 0
-        ExplicitHeight = 0
-        DesignSize = (
-          301
-          382)
-        object Label16: TLabel
-          Left = 8
-          Top = 272
-          Width = 282
-          Height = 13
-          Caption = 'Note: NV2x class hardware may not honor negative values'
-        end
-        object GroupBox1: TGroupBox
-          Left = 8
-          Top = 40
-          Width = 281
-          Height = 105
-          Anchors = [akLeft, akTop, akRight]
-          Caption = ' TexCoord. Shifts '
-          TabOrder = 0
-          DesignSize = (
-            281
-            105)
-          object Label18: TLabel
-            Left = 64
-            Top = 86
-            Width = 193
-            Height = 13
-            Alignment = taCenter
-            Anchors = [akLeft, akTop, akRight]
-            AutoSize = False
-            Caption = '0'
-          end
-          object Label3: TLabel
-            Left = 16
-            Top = 24
-            Width = 27
-            Height = 13
-            Caption = 'Tex 0'
-          end
-          object Label4: TLabel
-            Left = 16
-            Top = 40
-            Width = 27
-            Height = 13
-            Caption = 'Tex 1'
-          end
-          object Label5: TLabel
-            Left = 16
-            Top = 56
-            Width = 27
-            Height = 13
-            Caption = 'Tex 2'
-          end
-          object Label6: TLabel
-            Left = 16
-            Top = 72
-            Width = 27
-            Height = 13
-            Caption = 'Tex 3'
-          end
-          object Label11: TLabel
-            Left = 32
-            Top = 24
-            Width = 3
-            Height = 13
-          end
-          object Label12: TLabel
-            Left = 56
-            Top = 86
-            Width = 10
-            Height = 13
-            Caption = '-1'
-          end
-          object Label14: TLabel
-            Left = 252
-            Top = 86
-            Width = 6
-            Height = 13
-            Anchors = [akTop, akRight]
-            Caption = '1'
-          end
-          object TrackBar1: TTrackBar
-            Left = 56
-            Top = 24
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 50
-            TabOrder = 0
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-          object TrackBar2: TTrackBar
-            Left = 56
-            Top = 40
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 50
-            TabOrder = 1
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-          object TrackBar3: TTrackBar
-            Left = 56
-            Top = 56
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 50
-            TabOrder = 2
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-          object TrackBar4: TTrackBar
-            Left = 56
-            Top = 72
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 50
-            TabOrder = 3
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-        end
-        object GroupBox2: TGroupBox
-          Left = 8
-          Top = 160
-          Width = 281
-          Height = 105
-          Anchors = [akLeft, akTop, akRight]
-          Caption = ' Blending Weights '
-          TabOrder = 1
-          DesignSize = (
-            281
-            105)
-          object Label17: TLabel
-            Left = 64
-            Top = 86
-            Width = 193
-            Height = 13
-            Alignment = taCenter
-            Anchors = [akLeft, akTop, akRight]
-            AutoSize = False
-            Caption = '0'
-          end
-          object Label7: TLabel
-            Left = 16
-            Top = 24
-            Width = 27
-            Height = 13
-            Caption = 'Tex 0'
-          end
-          object Label8: TLabel
-            Left = 16
-            Top = 40
-            Width = 27
-            Height = 13
-            Caption = 'Tex 1'
-          end
-          object Label9: TLabel
-            Left = 16
-            Top = 56
-            Width = 27
-            Height = 13
-            Caption = 'Tex 2'
-          end
-          object Label10: TLabel
-            Left = 16
-            Top = 72
-            Width = 27
-            Height = 13
-            Caption = 'Tex 3'
-          end
-          object Label13: TLabel
-            Left = 252
-            Top = 86
-            Width = 6
-            Height = 13
-            Anchors = [akTop, akRight]
-            Caption = '1'
-          end
-          object Label15: TLabel
-            Left = 56
-            Top = 86
-            Width = 10
-            Height = 13
-            Caption = '-1'
-          end
-          object TrackBar5: TTrackBar
-            Left = 56
-            Top = 24
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 75
-            TabOrder = 0
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-          object TrackBar6: TTrackBar
-            Left = 56
-            Top = 40
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 75
-            TabOrder = 1
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-          object TrackBar7: TTrackBar
-            Left = 56
-            Top = 56
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 75
-            TabOrder = 2
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-          object TrackBar8: TTrackBar
-            Left = 56
-            Top = 72
-            Width = 206
-            Height = 15
-            Anchors = [akLeft, akTop, akRight]
-            Max = 100
-            Position = 65
-            TabOrder = 3
-            ThumbLength = 12
-            TickMarks = tmBoth
-            TickStyle = tsNone
-          end
-        end
-        object CheckBox2: TCheckBox
-          Left = 14
-          Top = 12
-          Width = 131
-          Height = 17
-          Caption = 'CgShader Enabled'
-          Checked = True
-          Font.Charset = ANSI_CHARSET
-          Font.Color = clWindowText
-          Font.Height = -11
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentFont = False
-          State = cbChecked
-          TabOrder = 2
-          OnClick = CheckBox2Click
-        end
-      end
-    end
-  end
-  object Panel9: TPanel
-    Left = 316
-    Top = 0
-    Width = 679
-    Height = 414
-    Align = alClient
-    Font.Charset = ANSI_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -19
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 1
-    object PanelFPS: TPanel
-      Left = 1
-      Top = 1
-      Width = 677
-      Height = 48
-      Align = alTop
-      Caption = 'FPS'
-      Font.Charset = ANSI_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -19
-      Font.Name = 'Trebuchet MS'
-      Font.Style = []
-      ParentFont = False
-      TabOrder = 0
-    end
-    object GLSceneViewer1: TGLSceneViewer
-      Left = 1
-      Top = 49
-      Width = 677
-      Height = 364
-      Camera = GLCamera1
-      Buffer.Lighting = False
-      Buffer.AntiAliasing = aa4xHQ
-      FieldOfView = 149.276763916015600000
-      PenAsTouch = False
-      Align = alClient
-      OnMouseDown = GLSceneViewer1MouseDown
-      OnMouseMove = GLSceneViewer1MouseMove
-      TabOrder = 1
-    end
-  end
-  object GLScene1: TGLScene
-    Left = 32
-    Top = 80
-    object GLXYZGrid1: TGLXYZGrid
-      Position.Coordinates = {000000006F12033B000000000000803F}
-      LineColor.Color = {938C0C3E938E0E3F938C0C3E0000803F}
-      XSamplingScale.Min = -2.000000000000000000
-      XSamplingScale.Max = 2.000000000000000000
-      XSamplingScale.Step = 0.100000001490116100
-      YSamplingScale.Step = 0.100000001490116100
-      ZSamplingScale.Min = -2.000000000000000000
-      ZSamplingScale.Max = 2.000000000000000000
-      ZSamplingScale.Step = 0.100000001490116100
-      Parts = [gpX, gpZ]
-    end
-    object GLPlane1: TGLPlane
-      Material.MaterialLibrary = GLMatLib
-      Material.LibMaterialName = 'LibMaterial'
-      Direction.Coordinates = {000000000000803F0000000000000000}
-      PitchAngle = 90.000000000000000000
-      Up.Coordinates = {0000000000000000000080BF00000000}
-      Height = 1.000000000000000000
-      Width = 1.000000000000000000
-    end
-    object GLCamera1: TGLCamera
-      DepthOfView = 100.000000000000000000
-      FocalLength = 50.000000000000000000
-      TargetObject = GLPlane1
-      CameraStyle = csInfinitePerspective
-      Position.Coordinates = {000000000000C03F0000803F0000803F}
-    end
-  end
-  object GLCadencer1: TGLCadencer
-    Scene = GLScene1
-    OnProgress = GLCadencer1Progress
-    Left = 32
-    Top = 144
-  end
-  object CgShader1: TCgShader
-    VertexProgram.OnApply = CgShader1ApplyVP
-    FragmentProgram.OnApply = CgShader1ApplyFP
-    FragmentProgram.OnUnApply = CgShader1UnApplyFP
-    OnApplyVP = CgShader1ApplyVP
-    OnApplyFP = CgShader1ApplyFP
-    OnUnApplyFP = CgShader1UnApplyFP
-    OnInitialize = CgShader1Initialize
-    Left = 168
-    Top = 80
-  end
-  object Timer1: TTimer
-    OnTimer = Timer1Timer
-    Left = 164
-    Top = 144
-  end
-  object GLMatLib: TGLMaterialLibrary
-    Materials = <
-      item
-        Name = 'LibMaterial'
-        Tag = 0
-        Material.Texture.Disabled = False
-        Material.MaterialLibrary = GLMatLib
-        Shader = CgShader1
-      end
-      item
-        Name = 'LibMaterial1'
-        Tag = 0
-        Material.Texture.Disabled = False
-        Material.MaterialLibrary = GLMatLib
-      end
-      item
-        Name = 'LibMaterial2'
-        Tag = 0
-        Material.MaterialLibrary = GLMatLib
-      end
-      item
-        Name = 'LibMaterial3'
-        Tag = 0
-        Material.MaterialLibrary = GLMatLib
-      end>
-    TexturePaths = '..\\..\\..\\media\\'
-    Left = 105
-    Top = 80
-  end
-end

+ 0 - 134
Demos/cgshaders/texturing/fTexturingC.h

@@ -1,134 +0,0 @@
-//---------------------------------------------------------------------------
-
-#ifndef fTexturingCH
-#define fTexturingCH
-//---------------------------------------------------------------------------
-#include <System.Classes.hpp>
-#include <Vcl.Controls.hpp>
-#include <Vcl.StdCtrls.hpp>
-#include <Vcl.Forms.hpp>
-#include <Vcl.ComCtrls.hpp>
-#include <Vcl.ExtCtrls.hpp>
-#include "GLS.BaseClasses.hpp"
-#include "GLS.Cadencer.hpp"
-#include "GLS.Coordinates.hpp"
-
-#include "GLS.Graph.hpp"
-#include "GLS.Material.hpp"
-#include "GLS.Objects.hpp"
-#include "GLS.Scene.hpp"
-#include "GLS.SceneViewer.hpp"
-#include "Cg.Shader.hpp"
-#include "JPeg.hpp"
-#include "GLS.Utils.hpp"
-//---------------------------------------------------------------------------
-class TForm1 : public TForm
-{
-__published:	// IDE-managed Components
-	TSplitter *Splitter1;
-	TPanel *Panel1;
-	TPageControl *PageControl1;
-	TTabSheet *TabSheet1;
-	TSplitter *Splitter3;
-	TPanel *Panel2;
-	TLabel *LabelVertProfile;
-	TCheckBox *CBVertexProgram;
-	TPanel *Panel11;
-	TPanel *Panel12;
-	TMemo *MemoVertCode;
-	TPanel *Panel13;
-	TButton *ButtonApplyVP;
-	TPanel *Panel5;
-	TLabel *Label2;
-	TMemo *Memo1;
-	TButton *Button1;
-	TButton *Button4;
-	TTabSheet *TabSheet2;
-	TSplitter *Splitter2;
-	TPanel *Panel4;
-	TLabel *LabelFragProfile;
-	TCheckBox *CBFragmentProgram;
-	TPanel *Panel6;
-	TPanel *Panel7;
-	TMemo *MemoFragCode;
-	TPanel *Panel3;
-	TButton *ButtonApplyFP;
-	TPanel *Panel8;
-	TLabel *Label1;
-	TMemo *Memo3;
-	TButton *Button2;
-	TButton *Button3;
-	TTabSheet *TabSheet3;
-	TLabel *Label16;
-	TGroupBox *GroupBox1;
-	TLabel *Label18;
-	TLabel *Label3;
-	TLabel *Label4;
-	TLabel *Label5;
-	TLabel *Label6;
-	TLabel *Label11;
-	TLabel *Label12;
-	TLabel *Label14;
-	TTrackBar *TrackBar1;
-	TTrackBar *TrackBar2;
-	TTrackBar *TrackBar3;
-	TTrackBar *TrackBar4;
-	TGroupBox *GroupBox2;
-	TLabel *Label17;
-	TLabel *Label7;
-	TLabel *Label8;
-	TLabel *Label9;
-	TLabel *Label10;
-	TLabel *Label13;
-	TLabel *Label15;
-	TTrackBar *TrackBar5;
-	TTrackBar *TrackBar6;
-	TTrackBar *TrackBar7;
-	TTrackBar *TrackBar8;
-	TCheckBox *CheckBox2;
-	TPanel *Panel9;
-	TPanel *PanelFPS;
-	TGLSceneViewer *GLSceneViewer1;
-	TGLScene *GLScene1;
-	TGLXYZGrid *GLXYZGrid1;
-	TGLPlane *GLPlane1;
-	TGLCamera *GLCamera1;
-	TGLCadencer *GLCadencer1;
-	TCgShader *CgShader1;
-	TTimer *Timer1;
-	TGLMaterialLibrary *GLMatLib;
-	void __fastcall FormCreate(TObject *Sender);
-	void __fastcall CgShader1Initialize(TCustomCgShader *CgShader);
-	void __fastcall CgShader1ApplyVP(TCgProgram *CgProgram, TObject *Sender);
-	void __fastcall CgShader1ApplyFP(TCgProgram *CgProgram, TObject *Sender);
-	void __fastcall CgShader1UnApplyFP(TCgProgram *CgProgram);
-	void __fastcall CBVertexProgramClick(TObject *Sender);
-	void __fastcall CBFragmentProgramClick(TObject *Sender);
-	void __fastcall CheckBox2Click(TObject *Sender);
-	void __fastcall ButtonApplyFPClick(TObject *Sender);
-	void __fastcall ButtonApplyVPClick(TObject *Sender);
-	void __fastcall MemoFragCodeChange(TObject *Sender);
-	void __fastcall MemoVertCodeChange(TObject *Sender);
-	void __fastcall Button1Click(TObject *Sender);
-	void __fastcall Button2Click(TObject *Sender);
-	void __fastcall Button3Click(TObject *Sender);
-	void __fastcall Button4Click(TObject *Sender);
-	void __fastcall GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
-          int X, int Y);
-	void __fastcall GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift, int X,
-		  int Y);
-	void __fastcall GLCadencer1Progress(TObject *Sender, const double deltaTime, const double newTime);
-	void __fastcall FormMouseWheel(TObject *Sender, TShiftState Shift, int WheelDelta,
-          TPoint &MousePos, bool &Handled);
-	void __fastcall Timer1Timer(TObject *Sender);
-	void __fastcall FormKeyPress(TObject *Sender, System::WideChar &Key);
-
-private:	// User declarations
-    int mx,my;
-public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
-};
-//---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
-//---------------------------------------------------------------------------
-#endif

BIN
Demos/extrusion/pawn/PawnC.res


+ 0 - 372
Demos/physics/NewtonWalkCarry/NewtonWalkCarryFm.dfm

@@ -1,372 +0,0 @@
-object FormNewtonWalkCarry: TFormNewtonWalkCarry
-  Left = 0
-  Top = 0
-  BorderStyle = bsNone
-  Caption = 'FormNewtonWalkCarry'
-  ClientHeight = 323
-  ClientWidth = 464
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  WindowState = wsMaximized
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object GLSceneViewer1: TGLSceneViewer
-    Left = 0
-    Top = 0
-    Width = 249
-    Height = 201
-    Camera = Player_Cam
-    VSync = vsmSync
-    FieldOfView = 90.285766601562500000
-    PenAsTouch = False
-    OnMouseMove = GLSceneViewer1MouseMove
-    TabOrder = 0
-  end
-  object Memo1: TMemo
-    Left = 8
-    Top = 207
-    Width = 441
-    Height = 98
-    Lines.Strings = (
-      
-        '[Model]=PX_0PY_-5PZ_0RX_0RY_0RZ_0DX_0DY_1DZ_0[Name]=ngdmap1.3ds[' +
-        'Dynamic]=0:DM=Roads001.jpgNM=Roads001_NRM.jpgLM=Roads001_DISP.jp' +
-        'g;'
-      
-        '[Model]=PX_10PY_0PZ_0RX_0RY_0RZ_0DX_0DY_1DZ_0[Name]=ngdchair.3ds' +
-        '[Dynamic]=1:DM=Roads005.jpgNM=Roads005_NRM.jpgLM=Roads005_DISP.j' +
-        'pg;'
-      '[Player]=PX_0PY_0PZ_0')
-    ScrollBars = ssBoth
-    TabOrder = 1
-    Visible = False
-  end
-  object GLScene1: TGLScene
-    Left = 40
-    Top = 8
-    object GLLightSource1: TGLLightSource
-      ConstAttenuation = 1.100000023841858000
-      Diffuse.Color = {F1F0703FF1F0703F0000803F0000803F}
-      Position.Coordinates = {0000000000002042000000000000803F}
-      SpotCutOff = 180.000000000000000000
-      SpotDirection.Coordinates = {000000000000803F0000000000000000}
-    end
-    object Game_Menu: TGLDummyCube
-      CubeSize = 1.000000000000000000
-    end
-    object Player_Capsule: TGLCapsule
-      Material.PolygonMode = pmPoints
-      Direction.Coordinates = {000000000000803F0000000000000000}
-      Up.Coordinates = {00000000000000000000803F00000000}
-      Visible = False
-      Pickable = False
-      Height = 3.000000000000000000
-      Slices = 4
-      Stacks = 4
-      Radius = 0.500000000000000000
-      BehavioursData = {
-        0458434F4C02010201060C54474C4E47445374617469630200060A4E47442053
-        746174696302000201060D474C4E47444D616E61676572310800090500000000
-        000AD7A3F83F1200000000}
-    end
-    object Player_Cube: TGLDummyCube
-      CubeSize = 1.000000000000000000
-      BehavioursData = {
-        0458434F4C02010201060D54474C4E474444796E616D69630200060B4E474420
-        44796E616D696302000201060D474C4E47444D616E6167657231080009050000
-        0000000AD7A3F83F1200000000020109050000000000CDCCCCFB3F0500000000
-        00000080FF3F0905000000000000000000000200080200080200090000000000
-        000000000000000000803F020008}
-      object GLCube3: TGLCube
-        Direction.Coordinates = {000000000000803F0000000000000000}
-        Position.Coordinates = {00000000CDCCCCBF000000000000803F}
-        Up.Coordinates = {0000000000000000000080BF00000000}
-        BehavioursData = {
-          0458434F4C02010201060C54474C4E47445374617469630200060A4E47442053
-          746174696302000201060D474C4E47444D616E61676572310800090500000000
-          000AD7A3F83F1200000000}
-        CubeSize = {0000003F0000003F0000803F}
-      end
-      object Cam_Cube: TGLDummyCube
-        Direction.Coordinates = {00000000000080BF0000000000000000}
-        Position.Coordinates = {000000006666E63F000000000000803F}
-        Up.Coordinates = {0000000000000000000080BF00000000}
-        CubeSize = 1.000000000000000000
-        object Player_Cam: TGLCamera
-          DepthOfView = 1000.000000000000000000
-          FocalLength = 100.000000000000000000
-          NearPlaneBias = 0.009999999776482582
-          CameraStyle = csInfinitePerspective
-          Direction.Coordinates = {000000000000803F0000000000000000}
-          Up.Coordinates = {0000000000000000000080BF00000000}
-        end
-      end
-    end
-    object Scene_Objects: TGLDummyCube
-      CubeSize = 1.000000000000000000
-      object GLCube2: TGLCube
-        Tag = 1
-        Direction.Coordinates = {000000000000803F0000000000000000}
-        Position.Coordinates = {0000000000000000000020410000803F}
-        Up.Coordinates = {0000000000000000000080BF00000000}
-        BehavioursData = {
-          0458434F4C02010201060C54474C4E47445374617469630200060A4E47442053
-          746174696302000201060D474C4E47444D616E61676572310800090500000000
-          000AD7A3F83F1200000000}
-      end
-      object GLSphere1: TGLSphere
-        Tag = 1
-        Radius = 0.500000000000000000
-        Slices = 32
-        Stacks = 32
-        BehavioursData = {
-          0458434F4C02010201060C54474C4E47445374617469630200060A4E47442053
-          746174696302000201060D474C4E47444D616E61676572310800090500000000
-          000AD7A3F83F1200000000}
-      end
-    end
-    object GLHUDSprite1: TGLHUDSprite
-      Material.BlendingMode = bmTransparency
-      Material.Texture.Image.Picture.Data = {
-        0A544A504547496D616765A80C0000FFD8FFE000104A46494600010100000100
-        010000FFDB004300010101010101010101010101010101010101010101010101
-        0101010101010101010101010101010101010101010101010101010101010101
-        0101010101010101FFDB00430101010101010101010101010101010101010101
-        0101010101010101010101010101010101010101010101010101010101010101
-        01010101010101010101010101FFC00011080030003003012200021101031101
-        FFC4001F0000010501010101010100000000000000000102030405060708090A
-        0BFFC400B5100002010303020403050504040000017D01020300041105122131
-        410613516107227114328191A1082342B1C11552D1F02433627282090A161718
-        191A25262728292A3435363738393A434445464748494A535455565758595A63
-        6465666768696A737475767778797A838485868788898A92939495969798999A
-        A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6
-        D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301
-        01010101010101010000000000000102030405060708090A0BFFC400B5110002
-        0102040403040705040400010277000102031104052131061241510761711322
-        328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728
-        292A35363738393A434445464748494A535455565758595A636465666768696A
-        737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7
-        A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3
-        E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FEFE
-        28A2BE00F8E5F1CBE167ED5DF0B3F6CBFD8EBF63AFDB2FF67FFF0086DAFF0086
-        7FFDA23C01A1685E00FDA23C39FF000B4FE017C53FF847357F85BA678D7C6BA6
-        7C2DD5FC47F16BE167FC2ACF8B5E23F0C59F88FC4767E18FF848FC0FE23FB1DB
-        DBD97FC24BFD9FA7CE01F9C1FB5EFF00C143BF69FF00DADFF6B8BDFF00825DFF
-        00C11CBC55E1FD07E2B7C29F10683A97FC1407FE0A13ACF83BC3FF0013FE0D7E
-        C33E15B3D6E5FB4FC24F09F873C4B69A97827E2F7ED3FE31B9D0F58F0C5CF80A
-        FE3BCD3BC3D3D8789BC1064D27C53A0FC64F897FB281FB21FF00C143BF69FF00
-        D923F6B8B2FF00825DFF00C1637C55E1FD7BE2B7C56F106BDA97FC13FBFE0A13
-        A3783BC3FF000C3E0D7EDCDE15BCD6E2FB37C24F167873C3569A6F827E10FED3
-        FE0EB9D7347F0C5B780AC23B3D3BC433DFF867C1024D5BC53AF7C1BF897FB57F
-        E707ECF3A67FC159BFE082FE04FF0082717ECBFE26F85BFF000480B4FD94BF68
-        8FDBFF00F667FD8F7C6DACFECF7A7FED8BE26FDA3BC69E3BFDA23589ADBC73F1
-        C7C79E26F893AEF813C25AC7C40D63C25E04D651BC4B7363A968FE1ABAB4F027
-        82FC27F0E34DF85BE19D0FC27E1A3F686D33FE0ACDFF0005E8F027FC1477F65F
-        F0CFC2DFF82405DFECA5FB3BFEDFFF00B4C7EC7BE09D67F684D3FF006C5F0CFE
-        D1DE0BF1DFECEFAC436DE06F8E3E03F137C36D77C77E12D1FE2068FE12F1DE8C
-        8BE25B6B1D3747F12DD5DF8EFC17E2CF871A97C2DF136B9E13F12807F67B457C
-        01F037E397C2CFD947E167EC69FB1D7ED8BFB65FECFF00FF000DB5FF000CFF00
-        FB3BF8035DD0BC7FFB447873FE169FC7DF8A7FF08E691F0B753F1AF82B4CF8A5
-        ABF873E2D7C53FF85A7F16BC39E27B3F0E788EF3C31FF091F8E3C47F6DB7B8B2
-        FF008497FB434F83EFFA00FE787FE0A1DFB5E7ED71FB5BFED3FE2AFF0082397F
-        C12EEF7C41F0A7E2B683E1FF00076B3FF0509FF8280EA5A0EB767E15FD867E0D
-        7C4FF0FDA7897C39E13F84973E6E8773E31FDA7FE2F7827528EFFC0573E18D62
-        C27F0F69D7921F04789B41F14E93F12FE327ECA1F9C1A67ECF3E04FF00820BFF
-        00C159BE16F89BF65FFF0082717EDFFF00B447ECA569FF000480D3FF0067BD67
-        C6DFB1EFECCFAC7ED11E3BF1A7ED1DE26FDB175DF893E26F1E7C71F1CDB4DE04
-        F096B1F10358F097812C6E7C4AC9ACDA5D786B47D4BE1C784FC17E04F0CFC2DD
-        37C27A1F86BF47FF00E0A1DFB21FED71FB247ED3FE2AFF0082C6FF00C12EECBC
-        41F15BE2B6BDE1FF000768DFF0509FF827F6A5AF6B779E15FDB9BE0D7C30F0FD
-        A786BC39E2CF8496DE56B973E0EFDA7FE10F8274D8EC3C056DE18D1EFE7F10E9
-        D6720F0478675EF14EADF12FE0DFED5FF9C1A67ED0DE04FF0082F47FC159BE16
-        F867F65FFF00828EFEDFFF00B3BFECA577FF000480D3FF00684D67C13FB1EFED
-        31AC7ECEFE3BF05FED1DE19FDB175DF86DE26F01FC71F035B43E3BF0968FF103
-        47F0978EEC6DBC4AA9A35DDD789747D37E1C78B3C17E3BF137C2DD4BC27AE789
-        403D03F6E0FDB83E29FF00C14A3E29FF00C12AFE16FC2DFF008255FF00C15FFE
-        0BFF00C297FF0082BFFEC39FB4BFC45F88BFB4BFEC39E23F873F0B3C35F0B3E1
-        CF88FC5BE1DF176ADAB78BBC3BE2DF1DFF0063FF0063FF00C277A7EBB7F7FAEE
-        9FA578734FF0E695AF6A7A9EBD63F61820BC3F61FF00DB83E29FFC135FE29FFC
-        1553E16FC52FF8255FFC15FF00E347FC2E8FF82BFF00EDC7FB4BFC3AF88BFB34
-        7EC39E23F88DF0B3C4BF0B3E23788FC25E1DF08EADA4F8BBC45E2DF027F6C7F6
-        C7FC209A86BB617FA169FAAF87350F0E6ABA0EA7A66BD7DF6E9E0B33F6E0FD87
-        FE29FF00C135FE29FF00C12AFE297C2DFF0082AA7FC15FFE347FC2E8FF0082BF
-        FEC39FB347C45F875FB4BFEDC7E23F88DF0B3C4BF0B3E23788FC5BE22F17693A
-        B7847C3BE12F027F6C7F6C7FC209A7E857F61AEEA1AAF87350F0E6ABAF699A9E
-        837DF6E827B33F61FF00D87FE29FFC14A3E29FFC1553E297C52FF82AA7FC15FF
-        00E0BFFC297FF82BFF00EDC7FB347C3AF875FB347EDC7E23F873F0B3C35F0B3E
-        1CF88FC25E22F08E93A4F847C45E12F1DFF63FF63FFC277A86856161A16A1A57
-        8734FF000E695A0E99A668363F619E7BC00F3FD4FF00679F027FC17A3FE0ACDF
-        14BC4DFB507FC138BF6FFF00D9DFF652BBFF0082406A1FB3DE8DE36FDB0BF667
-        D63F677F1DF82FF68EF0CFED8BA17C49F0CF8F3E0778E6E66F1DF84B47F881A3
-        F84BC777D73E1A67D66EEEBC4BA3E9BF11FC27E34F02789BE16EA5E2CD0FC4BF
-        A3FF00F04F1FDAF3F6B8FD923F69FF000AFF00C11CBFE0A897BE20F8ADF15B5E
-        F0FF008C759FF827B7FC14074DD075BBCF0AFEDCDF06BE18787EEFC4BE23F09F
-        C5BB9F375CB9F077ED3FF087C13A6C97FE3DB9F13EB17F3F8874EB38CF8DFC4D
-        AF78A756F869F193F6AFFCE0D4FF00686F027FC105FF00E0ACDF14BC33FB507F
-        C1477F6FFF00DA23F652B4FF0082406A1FB4268DE09FDB0BF698D63F688F1DF8
-        D3F68EF137ED8BA17C36F0CF80FE07781AE61F02784B58F881AC784BC097D6DE
-        1A57D1AD2EBC35A3EA5F11FC59E34F1DF867E16E9BE2CD73C35FA3FF00F04F1F
-        D90FF6B8FDADFF0069FF000AFF00C1637FE0A8965E20F853F15B41F0FF008C74
-        6FF827B7FC13FB4DD7B5BB3F0AFEC33F06BE27F87EEFC35E23F167C5BB6F2B43
-        B9F18FED3FF17BC13A94961E3DB6F13E8F613F87B4EBC8C78DFC33A0F8A749F8
-        69F06FF65000FE87ABE00F8E5F037E167ECA3F0B3F6CBFDB17F63AFD8D3F67FF
-        00F86DAFF867FF00DA23C7FA16BBE00FD9DFC39FF0B4FE3EFC53FF00847357F8
-        A5A6782BC6BA9FC2DD23C39F16BE29FF00C2D3F8B5E1CF0C5E788FC3967E27FF
-        00848FC71E23FB1DC5BDEFFC24BFD9FA841F7FD1401FC617ECF3A9FF00C159BF
-        E0BD1E04FF0082717ED41E26F8A5FF000480BBFD94BF677FDBFF00F667FDB0BC
-        6DA37ECF7A87ED8BE19FDA3BC17E3BFD9DF589AE7C73F03BC79E19F893A178EF
-        C25A3FC40D1FC25E3BD65DBC35737DA6E8FE25BABBF0278D3C27F11F52F85BE2
-        6D0FC59E253F686D4FFE0ACDFF000417F027FC1477F6A0F0CFC52FF82405A7EC
-        A5FB447EDFFF00B4C7ED85E09D1BF684D43F6C5F137ED1DE34F1DFED11AC4373
-        E06F81DE03F0CFC36D0BC09E12D63E206B1E12F0268CEBE1AB6BED4B47F0D5D5
-        A78EFC69E2CF88FA6FC2DF0CEB9E2CF0D7E8FF00ED7BFF0004F1FDA7FF00648F
-        DAE2F7FE0A89FF000472F0AF87F5EF8ADF15BC41A0E9BFF0501FF827B6B3E31F
-        0FFC30F835FB737856F35B97ED3F16FC27E23F12DDE9BE09F843FB4FF83AE75C
-        D63C4F73E3DBF92CF4EF10CF7FE26F1B98F56F14EBDF193E1A7ED5E7EC87FF00
-        04F1FDA7FF006B7FDAE2CBFE0A89FF00058DF0AF87F41F8ADF0A7C41AF69BFF0
-        4FEFF827B68DE31F0FFC4FF835FB0CF856CF5B8BECDF16FC59E23F0D5DEA5E09
-        F8BDFB4FF8C6E743D1FC4F6DE3DB092F34EF0F4F61E19F1B88F49F14E83F06FE
-        1A7ECA001FA3FF00037E06FC2CFDABBE167EC69FB62FED8BFB1A7ECFFF00F0DB
-        5FF0CFFF00B3BF8FF5DD77C7FF00B3BF873FE169FC02F8A7FF0008E691F14B53
-        F05782B53F8A5A4788FE2D7C2CFF008559F16BC47E27BCF0E7872F3C4FFF0009
-        1F81FC47F6DB8B8BDFF8497FB43509FEFF00A28A00FFD9}
-      Material.Texture.ImageAlpha = tiaTopLeftPointColorTransparent
-      Material.Texture.TextureMode = tmReplace
-      Material.Texture.Disabled = False
-      Pickable = False
-      Width = 48.000000000000000000
-      Height = 48.000000000000000000
-      Rotation = 0.000000000000000000
-    end
-    object GLHUDText1: TGLHUDText
-      Position.Coordinates = {0000484200004842000000000000803F}
-      Pickable = False
-      BitmapFont = GLWindowsBitmapFont1
-      Rotation = 0.000000000000000000
-      ModulateColor.Color = {0000803F00000000000000000000803F}
-    end
-    object GLLines1: TGLLines
-      Pickable = False
-      Nodes = <>
-      NodesAspect = lnaInvisible
-      SplineMode = lsmSegments
-      Options = [loUseNodeColorForLines]
-    end
-  end
-  object GLNGDManager1: TGLNGDManager
-    VisibleAtRunTime = True
-    Gravity.Coordinates = {00000000CDCC1CC10000000000000000}
-    WorldSizeMin.Coordinates = {00401CC600401CC600401CC600000000}
-    WorldSizeMax.Coordinates = {00401C4600401C4600401C4600000000}
-    NewtonSurfaceItem = <>
-    NewtonSurfacePair = <>
-    DebugOption.NGDManagerDebugs = [mdShowAABB, mdShowContact, mdShowJoint]
-    Line = GLLines1
-    NewtonJoint = <
-      item
-        JointType = nj_UpVector
-        ParentObject = Player_Capsule
-        ChildObject = Player_Capsule
-      end
-      item
-        KinematicControllerOptions.PickModeLinear = True
-        KinematicControllerOptions.LinearFriction = 350.000000000000000000
-        KinematicControllerOptions.AngularFriction = 3000.000000000000000000
-        JointType = nj_KinematicController
-      end>
-    Left = 152
-    Top = 80
-  end
-  object GLCadencer1: TGLCadencer
-    Scene = GLScene1
-    FixedDeltaTime = 0.010000000000000000
-    OnProgress = GLCadencer1Progress
-    Left = 40
-    Top = 80
-  end
-  object GLMaterialLibrary1: TGLMaterialLibrary
-    Left = 152
-    Top = 8
-  end
-  object OpenDialog1: TOpenDialog
-    Left = 320
-    Top = 152
-  end
-  object GLWindowsBitmapFont1: TGLWindowsBitmapFont
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWhite
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    Ranges = <
-      item
-        StartASCII = ' '
-        StopASCII = #128
-        StartGlyphIdx = 0
-      end
-      item
-        StartASCII = #192
-        StopASCII = #255
-        StartGlyphIdx = 97
-      end>
-    Left = 40
-    Top = 144
-  end
-  object GLNavigator1: TGLNavigator
-    MovingObject = Player_Cube
-    AutoUpdateObject = True
-    Left = 288
-    Top = 8
-  end
-  object GLUserInterface1: TGLUserInterface
-    MouseSpeed = 40.000000000000000000
-    GLNavigator = GLNavigator1
-    GLVertNavigator = GLNavigator2
-    Left = 152
-    Top = 144
-  end
-  object GLNavigator2: TGLNavigator
-    VirtualUp.Coordinates = {000000000000803F0000000000000000}
-    MovingObject = Cam_Cube
-    AutoUpdateObject = True
-    MaxAngle = 90.000000000000000000
-    MinAngle = -90.000000000000000000
-    AngleLock = True
-    Left = 384
-    Top = 8
-  end
-  object TIPickTimer: TTimer
-    Enabled = False
-    Interval = 50
-    OnTimer = TIPickTimerTimer
-    Left = 256
-    Top = 104
-  end
-  object Jump_Timer: TTimer
-    Enabled = False
-    Interval = 1500
-    OnTimer = Jump_TimerTimer
-    Left = 320
-    Top = 104
-  end
-  object Timer_OnVelocity: TTimer
-    Enabled = False
-    Interval = 50
-    OnTimer = Timer_OnVelocityTimer
-    Left = 384
-    Top = 104
-  end
-  object On_Drop: TTimer
-    Enabled = False
-    Interval = 200
-    OnTimer = On_DropTimer
-    Left = 256
-    Top = 152
-  end
-end

+ 0 - 662
Demos/physics/NewtonWalkCarry/NewtonWalkCarryFm.pas

@@ -1,662 +0,0 @@
-unit NewtonWalkCarryFm;
-
-interface
-
-uses
-  Winapi.Windows,
-  System.SysUtils,
-  System.Variants,
-  System.Classes,
-  System.Math,
-  Vcl.Graphics,
-  Vcl.Controls,
-  Vcl.Forms,
-  Vcl.Dialogs,
-  Vcl.StdCtrls,
-  Vcl.ExtCtrls,
-  Vcl.Imaging.Jpeg,
-
-  GLS.Scene,
-  GLS.PersistentClasses,
-  Physics.NGDManager,
-  GLS.Material,
-  GLS.Cadencer,
-  GLS.SceneViewer,
-
-  GLS.VectorFileObjects,
-  GLS.Octree,
-  GLS.VectorGeometry,
-  GLS.GeomObjects,
-  GLS.BaseClasses,
-  GLS.BitmapFont,
-  GLS.WindowsFont,
-  GLS.Objects,
-  GLS.Coordinates,
-  GLS.File3DS,
-  GLS.Navigator,
-  GLS.Keyboard,
-  GLS.VectorTypes,
-  GLS.Color,
-  GLS.HUDObjects,
-  GLS.Texture,
-  GLS.Utils;
-
-type
-
-  TMap = record
-    mdl: TGLFreeForm;
-    dyn: boolean;
-  end;
-
-  TFormNewtonWalkCarry = class(TForm)
-    GLScene1: TGLScene;
-    GLSceneViewer1: TGLSceneViewer;
-    GLNGDManager1: TGLNGDManager;
-    GLCadencer1: TGLCadencer;
-    GLMaterialLibrary1: TGLMaterialLibrary;
-    Player_Cam: TGLCamera;
-    Cam_Cube: TGLDummyCube;
-    Player_Cube: TGLDummyCube;
-    Scene_Objects: TGLDummyCube;
-    Game_Menu: TGLDummyCube;
-    OpenDialog1: TOpenDialog;
-    GLWindowsBitmapFont1: TGLWindowsBitmapFont;
-    Player_Capsule: TGLCapsule;
-    GLLightSource1: TGLLightSource;
-    GLCube2: TGLCube;
-    GLNavigator1: TGLNavigator;
-    GLUserInterface1: TGLUserInterface;
-    GLNavigator2: TGLNavigator;
-    TIPickTimer: TTimer;
-    GLHUDSprite1: TGLHUDSprite;
-    GLSphere1: TGLSphere;
-    Memo1: TMemo;
-    GLCube3: TGLCube;
-    Jump_Timer: TTimer;
-    GLHUDText1: TGLHUDText;
-    Timer_OnVelocity: TTimer;
-    On_Drop: TTimer;
-    GLLines1: TGLLines;
-    procedure FormCreate(Sender: TObject);
-    procedure GLCadencer1Progress(Sender: TObject;
-      const deltaTime, newTime: Double);
-    procedure TIPickTimerTimer(Sender: TObject);
-    procedure GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
-      X, Y: Integer);
-    procedure Jump_TimerTimer(Sender: TObject);
-    procedure Timer_OnVelocityTimer(Sender: TObject);
-    procedure On_DropTimer(Sender: TObject);
-  private
-     
-  public
-     
-    procedure Menu_Load;
-    procedure Game_Load;
-  end;
-
-var
-  FormNewtonWalkCarry: TFormNewtonWalkCarry;
-  maps: array of TMap;
-  currentPick: TGLCustomSceneObject;
-
-  FPickedSceneObject: TGLBaseSceneObject;
-  NGDDynamicBehav: TGLNGDDynamic;
-  point3d, FPaneNormal: TGLVector;
-  M_X, M_Y: Integer;
-  Maps_Count: Integer;
-  OnAir, OnGround: boolean;
-  OnMouse_Click, OnDrop, OnPick: boolean;
-  pickjoint: TGLNGDJoint;
-
-implementation
-
-{$R *.dfm}
-
-procedure TFormNewtonWalkCarry.FormCreate(Sender: TObject);
-begin
-  // Switch to English keyboard leyout
-  LoadKeyboardLayout('00000409', KLF_ACTIVATE);
-  Menu_Load;
-
-  GLHUDText1.Text :=
-    'Walk - WASD'+#13+
-    'Jump - Space'+#13+
-    'Pick/Drop - Left mouse'+#13+
-    'Push - Right mouse';
-end;
-
-procedure TFormNewtonWalkCarry.GLCadencer1Progress(Sender: TObject;
-  const deltaTime, newTime: Double);
-var
-  I, D: TVector4f;
-  F: TVector4f;
-  peak_Up, peak_Down: boolean;
-  ray, GP3D, result_GP3D: TVector4f;
-  j: Integer;
-  point2d, GotoPoint3d: TGLVector;
-  key_space: boolean;
-  cp: TPoint;
-  visible_cursor: boolean;
-  ScObj, FScObj: TGLBaseSceneObject;
-  targetColor: TColorVector;
-  picked: TGLCustomSceneObject;
-  mm: TMatrix4f;
-
-begin
-  GetCursorPos(cp);
-  cp := GLSceneViewer1.ScreenToClient(cp);
-
-  for j := 0 to Scene_Objects.Count - 1 do
-  begin
-    with Scene_Objects[j] as TGLCustomSceneObject do
-    begin
-      if Tag = 1 then
-        Material.FrontProperties.Emission.Color := clrBlack;
-    end;
-  end;
-
-  if Assigned(currentPick) then
-    if currentPick.Tag = 1 then
-    begin
-      with currentPick do
-      begin
-        if currentPick.DistanceTo(Player_Capsule) <= 3.5 then
-        begin
-          targetColor := clrRed;
-        end;
-        // Set new color at 66% between current and target color
-        with Material.FrontProperties.Emission do
-          Color := targetColor; // VectorLerp(targetColor, Color, 0.66)
-      end;
-    end;
-
-  GLUserInterface1.MouseLook;
-  GLUserInterface1.MouseUpdate;
-
-  TIPickTimer.Enabled := True;
-
-  Player_Cube.Position := Player_Capsule.Position;
-
-  if Assigned(FPickedSceneObject) and Assigned(GetNGDDynamic(FPickedSceneObject)) and OnMouse_Click then
-  begin
-
-    GP3D.X := Player_Cube.AbsolutePosition.X +
-      Player_Cube.AbsoluteDirection.X * -2;
-    GP3D.Y := Player_Capsule.AbsolutePosition.Y + 1.6 +
-      Player_Cam.AbsoluteDirection.Y;
-    GP3D.Z := Player_Cube.AbsolutePosition.Z +
-      Player_Cube.AbsoluteDirection.Z * -2;
-
-    if (roundto((point3d.X), -3) <> roundto((GP3D.X), -3)) or
-      (roundto((point3d.Y), -3) <> roundto((GP3D.Y), -3)) or
-      (roundto((point3d.Z), -3) <> roundto(GP3D.Z, -3)) then
-    begin
-      GP3D.X := point3d.X - GP3D.X;
-      GP3D.Y := point3d.Y - GP3D.Y;
-      GP3D.Z := point3d.Z - GP3D.Z;
-      NormalizeVector(GP3D);
-
-      GotoPoint3d.X := point3d.X + GP3D.X * -6 * deltaTime;
-      GotoPoint3d.Y := point3d.Y + GP3D.Y * -6 * deltaTime;
-      GotoPoint3d.Z := point3d.Z + GP3D.Z * -6 * deltaTime;
-
-      point3d := GotoPoint3d;
-    end
-    else
-    begin
-      GotoPoint3d.X := Player_Cube.AbsolutePosition.X +
-        Player_Cube.AbsoluteDirection.X * -2;
-      GotoPoint3d.Y := Player_Capsule.AbsolutePosition.Y + 1.6 +
-        Player_Cam.AbsoluteDirection.Y;
-      GotoPoint3d.Z := Player_Cube.AbsolutePosition.Z +
-        Player_Cube.AbsoluteDirection.Z * -2;
-    end;
-
-    pickjoint.KinematicControllerPick(point3d, paMove);
-  end;
-
-  if IsKeyDown(VK_LBUTTON) then
-  begin
-    point3d := VectorMake(GLSceneViewer1.Buffer.PixelRayToWorld(cp.X, cp.Y));
-    if not(OnMouse_Click) and OnPick then
-    begin
-      FPickedSceneObject := GLSceneViewer1.Buffer.GetPickedObject(cp.X, cp.Y);
-      if Assigned(FPickedSceneObject) then
-        if FPickedSceneObject.DistanceTo(Player_Capsule) <= 3.5 then
-        begin
-          if Assigned(FPickedSceneObject) and Assigned(GetNGDDynamic(FPickedSceneObject)) and (FPickedSceneObject.Tag=1) then // If the user click on a glSceneObject
-            begin
-              // point3d is the global space point of the body to attach
-              pickjoint.ParentObject := FPickedSceneObject;
-              pickjoint.KinematicControllerPick(point3d, paAttach);
-              OnMouse_Click := True;
-              GotoPoint3d := point3d;
-              On_Drop.Tag := 1;
-              On_Drop.Enabled := True;
-            end
-            else
-              FPickedSceneObject := nil;
-            // We save the normal to create a plane parallel to camera in mouseMove Event.
-            FPaneNormal := Player_Cam.AbsoluteDirection;
-        end;
-    end
-    else
-    begin
-      if Assigned(FPickedSceneObject) and Assigned(GetNGDDynamic(FPickedSceneObject)) and OnDrop then
-      begin
-        pickjoint.KinematicControllerPick(point3d, paDetach);
-        NGDDynamicBehav := nil;
-        FPickedSceneObject := nil;
-        OnMouse_Click := False;
-        On_Drop.Tag := 0;
-        On_Drop.Enabled := True;
-      end;
-    end;
-  end;
-
-  if Assigned(FPickedSceneObject) then
-  begin
-    ScObj := FPickedSceneObject;
-  end;
-
-  if not(OnMouse_Click) then
-  begin
-    // Detach the body
-    if Assigned(NGDDynamicBehav) then
-    begin
-      Timer_OnVelocity.Enabled := True;
-    end;
-  end;
-
-  if Assigned(FPickedSceneObject) and Assigned(GetNGDDynamic(FPickedSceneObject)) and IsKeyDown(VK_RBUTTON) then
-    begin
-      I:=Player_Cam.AbsoluteDirection;
-      i.X:=I.X*20;
-      i.Y:=I.Y*20;
-      i.Z:=I.Z*20;
-      with TGLNGDDynamic(FPickedSceneObject.Behaviours.GetByClass(TGLNGDDynamic)) do
-        SetVelocity(I);
-
-      pickjoint.KinematicControllerPick(point3d, paDetach);
-      NGDDynamicBehav := nil;
-      FPickedSceneObject := nil;
-      OnMouse_Click:=false;
-      On_Drop.Tag:=0;
-      On_Drop.Enabled:=true;
-    end;
-
-  for j := 0 to Maps_Count - 1 do
-  begin
-    OnGround := maps[j].mdl.OctreeAABBIntersect
-      (GLCube3.AxisAlignedBoundingBox(), GLCube3.AbsoluteMatrix,
-      GLCube3.InvAbsoluteMatrix);
-    if OnGround then
-      break;
-  end;
-
-  if IsKeyDown(VK_SPACE) and OnGround and not(OnAir) then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := Player_Cube.AbsoluteDirection;
-      if IsKeyDown('w') then
-      begin
-        i.X:=-i.X*6;
-        i.X:=10;
-        i.X:=-i.Z*6;
-        SetVelocity(i);
-      end
-      else SetVelocity(VectorMake(0,10,0));
-      OnGround := False;
-    end;
-    OnAir := True;
-    Jump_Timer.Enabled := True;
-  end;
-
-  if Assigned(currentPick) then
-    if currentPick.Material.FrontProperties.Emission.Color.X = 1 then
-    begin
-      GLHUDSprite1.Visible := True;
-    end
-    else
-    begin
-      GLHUDSprite1.Visible := False;
-    end;
-
-  if IsKeyDown('w') and OnGround and not(IsKeyDown(VK_SPACE)) then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := Player_Cube.AbsoluteDirection;
-      i.X:=-I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=-I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('s') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := Player_Cube.AbsoluteDirection;
-      i.X:=I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('a') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := Player_Cam.AbsoluteRight;
-      i.X:=I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('d') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := Player_Cam.AbsoluteLeft;
-      i.X:=I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('d') and IsKeyDown('w') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := VectorAdd(Player_Cube.AbsoluteLeft, Player_Cube.AbsoluteDirection);
-      i.X:=-I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=-I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('a') and IsKeyDown('w') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := VectorAdd(Player_Cube.AbsoluteRight, Player_Cube.AbsoluteDirection);
-      i.X:=-I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=-I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('a') and IsKeyDown('s') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := VectorAdd(Player_Cube.AbsoluteLeft, Player_Cube.AbsoluteDirection);
-      i.X:=I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  if IsKeyDown('d') and IsKeyDown('s') and OnGround then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      I := VectorAdd(Player_Cube.AbsoluteRight, Player_Cube.AbsoluteDirection);
-      i.X:=I.X*4;
-      i.Y:=AppliedVelocity.y;
-      i.Z:=I.Z*4;
-      SetVelocity(i);
-    end;
-  end;
-
-  GLSceneViewer1.Invalidate;
-
-  GLNGDManager1.Step(deltaTime);
-
-  if Player_Capsule.Position.Y < -10 then
-  begin
-    with TGLNGDDynamic(Player_Capsule.Behaviours.GetByClass(TGLNGDDynamic)) do
-    begin
-      mm := NewtonBodyMatrix;
-      mm.W := VectorMake(0, 0, 0, 1);
-      NewtonBodyMatrix := mm;
-    end;
-  end;
-
-  if IsKeyDown(VK_ESCAPE) then
-    close;
-end;
-
-procedure TFormNewtonWalkCarry.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState;
-  X, Y: Integer);
-begin
-  M_X := X;
-  M_Y := Y;
-end;
-
-procedure TFormNewtonWalkCarry.Menu_Load;
-begin
-  FormNewtonWalkCarry.Width := 1280;
-  FormNewtonWalkCarry.Height := 1024;
-
-  GLHUDSprite1.Position.X := 640;
-  GLHUDSprite1.Position.Y := 512;
-
-  GLSceneViewer1.Height := 1024;
-  GLSceneViewer1.Width := 1280;
-
-  (*
-    GLMaterialLibrary1.AddTextureMaterial('brick_b','brick_b.jpg');
-    with GLMaterialLibrary1.Materials.GetLibMaterialByName('brick_b') do
-    begin
-    Material.Texture.Disabled:=false;
-    end;
-
-    GLMaterialLibrary1.AddTextureMaterial('mat1','Finishes.jpg');
-    with GLMaterialLibrary1.Materials.GetLibMaterialByName('mat1') do
-    begin
-    Material.Texture.Disabled:=false;
-    end;
-  *)
-
-  pickjoint := TGLNGDJoint(GLNGDManager1.NewtonJoint.Items[1]);
-
-  OnPick := True;
-  GLUserInterface1.MouseLookActivate;
-  Game_Load;
-end;
-
-procedure TFormNewtonWalkCarry.Game_Load;
-var
-  X, j, dyns: Integer;
-  Models: string;
-  PX, PY, PZ: Integer;
-  RX, RY, RZ: Integer;
-  DX, DY, DZ: Integer;
-  Nam, end1, end2: Integer;
-  b_ti1, b_ti2, b_ti3, ML_col: Integer;
-begin
-  SetGLSceneMediaDir();
-  // Memo1.Lines.Clear;
-  // memo1.Lines.LoadFromFile('level.txt');
-  SetLength(maps, Memo1.Lines.Count);
-  For X := 0 to Memo1.Lines.Count - 1 do
-  begin
-    if copy(Memo1.Lines.Strings[X], 0, 8) = '[Model]=' then
-    begin
-      Models := Memo1.Lines.Strings[X];
-      for j := 0 to Length(Models) do
-      begin
-        if copy(Models, j, 3) = 'PX_' then
-          PX := j + 3;
-        if copy(Models, j, 3) = 'PY_' then
-          PY := j + 3;
-        if copy(Models, j, 3) = 'PZ_' then
-          PZ := j + 3;
-
-        if copy(Models, j, 3) = 'RX_' then
-          RX := j + 3;
-        if copy(Models, j, 3) = 'RY_' then
-          RY := j + 3;
-        if copy(Models, j, 3) = 'RZ_' then
-          RZ := j + 3;
-
-        if copy(Models, j, 3) = 'DX_' then
-          DX := j + 3;
-        if copy(Models, j, 3) = 'DY_' then
-          DY := j + 3;
-        if copy(Models, j, 3) = 'DZ_' then
-          DZ := j + 3;
-
-        if copy(Models, j, 7) = '[Name]=' then
-          Nam := j + 7;
-        if copy(Models, j, 10) = '[Dynamic]=' then
-          dyns := j + 10;
-
-        if copy(Models, j, 1) = ':' then
-          end1 := j - 1;
-
-        if copy(Models, j, 3) = 'DM=' then
-          b_ti1 := j + 3;
-        if copy(Models, j, 3) = 'NM=' then
-          b_ti2 := j + 3;
-        if copy(Models, j, 3) = 'LM=' then
-          b_ti3 := j + 3;
-
-        if copy(Models, j, 1) = ';' then
-          end2 := j - 1;
-      end;
-
-      if StrToBool(copy(Models, dyns, b_ti1 - dyns - 4 { end1-dyns+1 } ))
-        = False then
-      begin
-        with maps[X] do
-        begin
-          mdl := TGLFreeForm.CreateAsChild(Scene_Objects);
-
-          mdl.MaterialLibrary := GLMaterialLibrary1;
-
-          mdl.LoadFromFile(copy(Models, Nam, dyns - Nam - 10));
-
-          mdl.Position.X := StrToFloat(copy(Models, PX, PY - PX - 3));
-          mdl.Position.Y := StrToFloat(copy(Models, PY, PZ - PY - 3));
-          mdl.Position.Z := StrToFloat(copy(Models, PZ, RX - PZ - 3));
-
-          mdl.RollAngle := StrToFloat(copy(Models, RX, RY - RX - 3));
-          mdl.TurnAngle := StrToFloat(copy(Models, RY, RZ - RY - 3));
-          mdl.PitchAngle := StrToFloat(copy(Models, RZ, DX - RZ - 3));
-
-          mdl.Direction.X := StrToFloat(copy(Models, DX, DY - DX - 3));
-          mdl.Direction.Y := StrToFloat(copy(Models, DY, DZ - DY - 3));
-          mdl.Direction.Z := StrToFloat(copy(Models, DZ, Nam - DZ - 7));
-
-          mdl.BuildOctree();
-
-          mdl.Behaviours.GetOrCreate(TGLNGDStatic);
-
-          Maps_Count := Maps_Count + 1;
-
-          with TGLNGDStatic(mdl.Behaviours.GetByClass(TGLNGDStatic)) do
-            begin
-              Manager:=GLNGDManager1;
-              NGDNewtonCollisions:=nc_Tree;
-            end;
-        end;
-      end
-      else
-      begin
-        with maps[X] do
-        begin
-          mdl := TGLFreeForm.CreateAsChild(Scene_Objects);
-
-          mdl.LoadFromFile(copy(Models, Nam, dyns - Nam - 10));
-
-          mdl.Position.X := StrToFloat(copy(Models, PX, PY - PX - 3));
-          mdl.Position.Y := StrToFloat(copy(Models, PY, PZ - PY - 3));
-          mdl.Position.Z := StrToFloat(copy(Models, PZ, RX - PZ - 3));
-
-          mdl.RollAngle := StrToFloat(copy(Models, RX, RY - RX - 3));
-          mdl.TurnAngle := StrToFloat(copy(Models, RY, RZ - RY - 3));
-          mdl.PitchAngle := StrToFloat(copy(Models, RZ, DX - RZ - 3));
-
-          mdl.Direction.X := StrToFloat(copy(Models, DX, DY - DX - 3));
-          mdl.Direction.Y := StrToFloat(copy(Models, DY, DZ - DY - 3));
-          mdl.Direction.Z := StrToFloat(copy(Models, DZ, Nam - DZ - 7));
-
-          Maps_Count := Maps_Count + 1;
-
-          mdl.Behaviours.GetOrCreate(TGLNGDDynamic);
-
-          with TGLNGDDynamic(mdl.Behaviours.GetByClass(TGLNGDDynamic)) do
-            begin
-              Manager:=GLNGDManager1;
-              NGDNewtonCollisions:=nc_Mesh;
-              Density:=1;
-              //NGDSurfaceItem:=GLNGDManager1.NewtonSurfaceItem.Items[3] as TNGDSurfaceItem;
-            end;
-
-          mdl.Tag := 1;
-
-          mdl.OnProgress := GLCube2.OnProgress;
-
-          mdl.BuildOctree();
-        end;
-      end;
-    end;
-  end;
-end;
-
-procedure TFormNewtonWalkCarry.Jump_TimerTimer(Sender: TObject);
-begin
-  OnAir := False;
-  Jump_Timer.Enabled := False;
-end;
-
-procedure TFormNewtonWalkCarry.On_DropTimer(Sender: TObject);
-begin
-  if On_Drop.Tag = 1 then
-  begin
-    OnDrop := True;
-    OnPick := False;
-    On_Drop.Enabled := False;
-  end
-  else
-  begin
-    OnDrop := False;
-    OnPick := True;
-    On_Drop.Enabled := False;
-  end;
-end;
-
-procedure TFormNewtonWalkCarry.Timer_OnVelocityTimer(Sender: TObject);
-begin
-  pickjoint.KinematicControllerPick(point3d,paDetach);
-  NGDDynamicBehav := nil;
-  FPickedSceneObject := nil;
-  Timer_OnVelocity.Enabled := False;
-  On_Drop.Tag := 0;
-  On_Drop.Enabled := True;
-end;
-
-procedure TFormNewtonWalkCarry.TIPickTimerTimer(Sender: TObject);
-var
-  cp: TPoint;
-begin
-  GetCursorPos(cp);
-  cp := GLSceneViewer1.ScreenToClient(cp);
-  currentPick := (GLSceneViewer1.Buffer.GetPickedObject(cp.X, cp.Y)
-    as TGLCustomSceneObject);
-  TIPickTimer.Enabled := False;
-end;
-
-end.

+ 0 - 3
Demos/specialsFX/fire/fire.h

@@ -1,3 +0,0 @@
-#include <vcl.h>
-#include <tchar.h>
-