main.pas 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. unit Main;
  2. interface
  3. uses
  4. Winapi.OpenGL,
  5. System.Classes,
  6. System.SysUtils,
  7. Vcl.Forms,
  8. Vcl.Controls,
  9. Vcl.Graphics,
  10. Vcl.Dialogs,
  11. GLS.VectorTypes,
  12. GLS.VectorGeometry,
  13. GLS.Scene,
  14. GLS.Objects,
  15. GLS.VectorFileObjects,
  16. GLS.Material, GLS.Cadencer,
  17. GLS.ArchiveManager,
  18. GLS.BaseClasses,
  19. GLS.FileMS3D,
  20. GLS.FileTGA,
  21. GLS.FileZLIB,
  22. GLS.Coordinates,
  23. GLS.SceneViewer,
  24. GLS.Utils;
  25. type
  26. { TForm1 }
  27. TForm1 = class(TForm)
  28. GLCadencer1: TGLCadencer;
  29. GLCamera: TGLCamera;
  30. GLDummyCube1: TGLDummyCube;
  31. GLFreeForm: TGLFreeForm;
  32. GLFreeForm1: TGLFreeForm;
  33. GLLightSource1: TGLLightSource;
  34. GLMaterialLibrary1: TGLMaterialLibrary;
  35. GLPlane1: TGLPlane;
  36. GLSArchiveManager1: TGLSArchiveManager;
  37. GLScene1: TGLScene;
  38. GLSceneViewer1: TGLSceneViewer;
  39. procedure FormCreate(Sender: TObject);
  40. procedure GLCadencer1Progress(Sender: TObject;
  41. const deltaTime, newTime: Double);
  42. private
  43. end;
  44. var
  45. Form1: TForm1;
  46. //--------------------------------------------
  47. implementation
  48. //--------------------------------------------
  49. {$R *.dfm}
  50. procedure TForm1.GLCadencer1Progress(Sender: TObject;
  51. const deltaTime, newTime: Double);
  52. begin
  53. GLCamera.Position.Rotate(VectorMake(0, 1, 0), deltaTime * 0.1);
  54. end;
  55. procedure TForm1.FormCreate(Sender: TObject);
  56. begin
  57. SetGLSceneMediaDir();
  58. GLMaterialLibrary1.TexturePaths := GetCurrentDir();
  59. with GLSArchiveManager1.Archives[0] do
  60. begin
  61. LoadFromFile('Chair.zlib');
  62. if FileName = '' then
  63. ShowMessage('Archive Can not be Loaded');
  64. (* Automatic loading from archive.
  65. If file is not in archive, then it's loaded from harddrive. *)
  66. GLFreeForm.LoadFromFile('Chair.ms3d');
  67. // Direct loading from archive
  68. GLFreeForm1.LoadFromStream('Chair.ms3d', GetContent('Chair.ms3d'));
  69. end;
  70. GLPlane1.Material.Texture.Image.LoadFromFile('GLScene.bmp');
  71. end;
  72. end.