| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- unit fMatScriptD;
- interface
- uses
- Winapi.OpenGL,
- System.SysUtils,
- System.Classes,
- Vcl.Graphics,
- Vcl.Controls,
- Vcl.Forms,
- Vcl.Dialogs,
- Vcl.StdCtrls,
- Vcl.ExtCtrls,
- Vcl.Imaging.Jpeg,
- GLS.Texture,
- GLS.Scene,
- GLS.Objects,
- GLS.SceneViewer,
- GLS.MaterialScript,
- GLS.Cadencer,
- GLS.Material,
- GLS.Coordinates,
- GLS.BaseClasses,
- GLScene.Utils,
- GLS.SimpleNavigation;
- type
- TFormMatScript = class(TForm)
- Panel1: TPanel;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Memo1: TMemo;
- ButtonLoadScript: TButton;
- ButtonExecuteScript: TButton;
- Memo2: TMemo;
- GLSceneViewer1: TGLSceneViewer;
- GLScene1: TGLScene;
- GLLightSource1: TGLLightSource;
- GLDummyCube1: TGLDummyCube;
- GLCube1: TGLCube;
- GLCamera1: TGLCamera;
- GLMaterialLibrary1: TGLMaterialLibrary;
- OpenDialog1: TOpenDialog;
- GLMaterialScripter1: TGLMaterialScripter;
- GLCadencer1: TGLCadencer;
- GLSimpleNavigation1: TGLSimpleNavigation;
- procedure ButtonLoadScriptClick(Sender: TObject);
- procedure ButtonExecuteScriptClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- PathToData: TFileName;
- public
- end;
- var
- FormMatScript: TFormMatScript;
- //---------------------------------
- implementation
- //---------------------------------
- {$R *.dfm}
- procedure TFormMatScript.FormCreate(Sender: TObject);
- begin
- PathToData := GetCurrentAssetPath();
- SetCurrentDir(PathToData); // ..glscene\assets
- GLMaterialLibrary1.TexturePaths := PathToData;
- GLMaterialScripter1.DebugMemo := Memo2;
- GLCube1.Material.MaterialLibrary := GLMaterialLibrary1;
- end;
- procedure TFormMatScript.ButtonLoadScriptClick(Sender: TObject);
- begin
- OpenDialog1.InitialDir := PathToData + '\script';
- if OpenDialog1.Execute then
- if FileExists(Opendialog1.FileName) then
- Memo1.Lines.LoadFromFile(Opendialog1.FileName);
- SetCurrentDir(PathToData);
- end;
- procedure TFormMatScript.ButtonExecuteScriptClick(Sender: TObject);
- begin
- GLMaterialLibrary1.Materials.Clear;
- GLCube1.Material.MaterialLibrary := GLMaterialLibrary1;
- GLMaterialScripter1.Script := Memo1.Lines;
- GLMaterialScripter1.CompileScript;
- GLCube1.Material.LibMaterialName := 'TestMat';
- end;
- end.
|