fdViewports.pas 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. unit fdViewports;
  2. interface
  3. uses
  4. System.SysUtils,
  5. System.Types,
  6. System.UITypes,
  7. System.Classes,
  8. System.Variants,
  9. FMX.Types,
  10. FMX.Controls,
  11. FMX.Forms,
  12. FMX.Graphics,
  13. FMX.Dialogs,
  14. System.Math.Vectors,
  15. FMX.Types3D,
  16. FMX.Ani,
  17. FMX.Controls3D,
  18. FMX.MaterialSources,
  19. FMX.Objects3D,
  20. FMX.Viewport3D,
  21. FMX.Layouts,
  22. FMX.Controls.Presentation,
  23. FMX.StdCtrls,
  24. FMX.Objects,
  25. FMX.Layers3D,
  26. GBE.Viewport3D;
  27. type
  28. TFormViewports = class(TForm)
  29. LightMaterialSource1: TLightMaterialSource;
  30. Light1: TLight;
  31. Camera1: TCamera;
  32. GBEViewport3D1: TGBEViewport3D;
  33. Layout1: TLayout;
  34. Layout2: TLayout;
  35. Layout3: TLayout;
  36. Camera2: TCamera;
  37. Layout4: TLayout;
  38. Image1: TImage;
  39. Image2: TImage;
  40. Image3D1: TImage3D;
  41. Camera3: TCamera;
  42. FloatAnimation2: TFloatAnimation;
  43. Plane1: TPlane;
  44. LightMaterialSource2: TLightMaterialSource;
  45. Dummy1: TDummy;
  46. Cube1: TCube;
  47. Cube2: TCube;
  48. LightMaterialSource3: TLightMaterialSource;
  49. Cube3: TCube;
  50. Cube4: TCube;
  51. Cube5: TCube;
  52. Cube6: TCube;
  53. Cube7: TCube;
  54. Label1: TLabel;
  55. Label2: TLabel;
  56. Label3: TLabel;
  57. Rectangle1: TRectangle;
  58. FloatAnimation1: TFloatAnimation;
  59. procedure FormCreate(Sender: TObject);
  60. procedure FloatAnimation1Process(Sender: TObject);
  61. private
  62. public
  63. end;
  64. var
  65. FormViewports: TFormViewports;
  66. implementation
  67. {$R *.fmx}
  68. procedure TFormViewports.FloatAnimation1Process(Sender: TObject);
  69. begin
  70. image1.Bitmap := GBEViewport3D1.getBitmapFromView(camera1);
  71. image2.Bitmap := GBEViewport3D1.getBitmapFromView(camera2);
  72. Image3D1.Bitmap := GBEViewport3D1.getBitmapFromView(camera3);
  73. end;
  74. procedure TFormViewports.FormCreate(Sender: TObject);
  75. begin
  76. camera1.Position.Z := 0;
  77. camera2.Position.Z := 0;
  78. camera3.Position.Z := -10;
  79. GBEViewport3D1.DoAddView(camera1);
  80. GBEViewport3D1.DoAddView(camera2);
  81. GBEViewport3D1.DoAddView(camera3);
  82. GBEViewport3D1.BackgroundColor := GBEViewport3D1.color;
  83. end;
  84. end.