2
0

fMatScriptC.cpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include <tchar.h>
  4. #pragma hdrstop
  5. #include "fMatScriptC.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. #pragma link "GLS.BaseClasses"
  9. #pragma link "GLS.Cadencer"
  10. #pragma link "GLS.Coordinates"
  11. #pragma link "GLS.Material"
  12. #pragma link "GLS.MaterialScript"
  13. #pragma link "GLS.Objects"
  14. #pragma link "GLS.Scene"
  15. #pragma link "GLS.SceneViewer"
  16. #pragma link "GLS.SimpleNavigation"
  17. #pragma resource "*.dfm"
  18. TForm1 *Form1;
  19. //---------------------------------------------------------------------------
  20. __fastcall TForm1::TForm1(TComponent* Owner)
  21. : TForm(Owner)
  22. {
  23. }
  24. //---------------------------------------------------------------------------
  25. void __fastcall TForm1::FormCreate(TObject *Sender)
  26. {
  27. PathToData = GetCurrentAssetPath(); // not use ExtractFilePath(Application->ExeName)
  28. SetCurrentDir(PathToData); // ..glscene\assets
  29. GLMaterialLibrary1->TexturePaths = PathToData;
  30. GLMaterialScripter1->DebugMemo = Memo2;
  31. GLCube1->Material->MaterialLibrary = GLMaterialLibrary1;
  32. }
  33. //---------------------------------------------------------------------------
  34. void __fastcall TForm1::ButtonLoadScriptClick(TObject *Sender)
  35. {
  36. OpenDialog1->InitialDir = PathToData + "\\script";
  37. if (OpenDialog1->Execute())
  38. {
  39. if (FileExists(OpenDialog1->FileName))
  40. Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
  41. }
  42. SetCurrentDir(PathToData);
  43. }
  44. //---------------------------------------------------------------------------
  45. void __fastcall TForm1::ButtonExecuteScriptClick(TObject *Sender)
  46. {
  47. GLMaterialLibrary1->Materials->Clear();
  48. GLCube1->Material->MaterialLibrary = GLMaterialLibrary1;
  49. GLMaterialScripter1->Script = Memo1->Lines;
  50. GLMaterialScripter1->CompileScript();
  51. GLCube1->Material->LibMaterialName = "TestMat";
  52. }
  53. //---------------------------------------------------------------------------