12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- unit fMatScript;
- 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,
- GLS.Utils;
- 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;
- procedure ButtonLoadScriptClick(Sender: TObject);
- procedure ButtonExecuteScriptClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- public
- end;
- var
- FormMatScript: TFormMatScript;
- //---------------------------------
- implementation
- //---------------------------------
- {$R *.dfm}
- procedure TFormMatScript.FormCreate(Sender: TObject);
- begin
- SetCurrentDir(ExtractFilePath(ParamStr(0)));
- GLMaterialScripter1.DebugMemo := Memo2;
- GLCube1.Material.MaterialLibrary := GLMaterialLibrary1;
- end;
- procedure TFormMatScript.ButtonLoadScriptClick(Sender: TObject);
- var
- Path: TFileName;
- begin
- SetGLSceneMediaDir();
- Path := GetCurrentDir + '\Scripts';
- OpenDialog1.InitialDir := Path;
- if OpenDialog1.Execute then
- if FileExists(Opendialog1.FileName) then
- Memo1.Lines.LoadFromFile(Opendialog1.FileName);
- SetCurrentDir(ExtractFilePath(ParamStr(0)));
- 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.
|