Unit1.cpp 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Unit1.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma link "GLBaseClasses"
  8. #pragma link "GLBlur"
  9. #pragma link "GLCadencer"
  10. #pragma link "GLCoordinates"
  11. #pragma link "GLCrossPlatform"
  12. #pragma link "GLGeomObjects"
  13. #pragma link "GLHUDObjects"
  14. #pragma link "GLMaterial"
  15. #pragma link "GLObjects"
  16. #pragma link "GLScene"
  17. #pragma link "GLWin32Viewer"
  18. #pragma resource "*.dfm"
  19. TForm1 *Form1;
  20. //---------------------------------------------------------------------------
  21. __fastcall TForm1::TForm1(TComponent* Owner)
  22. : TForm(Owner)
  23. {
  24. }
  25. //---------------------------------------------------------------------------
  26. void __fastcall TForm1::FormCreate(TObject *Sender)
  27. {
  28. SetGLSceneMediaDir();
  29. // Blur GLDummyCube1and it's children
  30. GLBlur1->TargetObject = GLDummyCube1;
  31. // point to GLDummyCube1
  32. GLCamera1->TargetObject = GLDummyCube1;
  33. // load materials
  34. GLMaterialLibrary1->Materials->Items[0]->Material->Texture->Image->LoadFromFile("beigemarble.jpg");
  35. GLMaterialLibrary1->Materials->Items[1]->Material->Texture->Image->LoadFromFile("moon.bmp");
  36. }
  37. //---------------------------------------------------------------------------
  38. void __fastcall TForm1::GLBlur1BeforeTargetRender(TObject *Sender)
  39. {
  40. TorusImpostor->Visible = true; // GLBlur1 must render the Torusimpostor
  41. }
  42. //---------------------------------------------------------------------------
  43. void __fastcall TForm1::GLBlur1AfterTargetRender(TObject *Sender)
  44. {
  45. TorusImpostor->Visible = false; // GLSCeneViewer1 must NOT render the Torusimpostor
  46. }
  47. //---------------------------------------------------------------------------
  48. void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
  49. const double newTime)
  50. {
  51. GLSceneViewer1->Invalidate();
  52. }
  53. //---------------------------------------------------------------------------
  54. void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
  55. int X, int Y)
  56. {
  57. if (Shift.Contains(ssRight) && (Y > 10))
  58. GLCamera1->AdjustDistanceToTarget(my/Y);
  59. if (Shift.Contains(ssLeft))
  60. GLCamera1->MoveAroundTarget(my-Y,mx-X);
  61. mx = X;
  62. my = Y;
  63. }
  64. //---------------------------------------------------------------------------
  65. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  66. {
  67. LabelFPS->Caption = GLSceneViewer1->FramesPerSecondText(0);
  68. GLSceneViewer1->ResetPerformanceMonitor();
  69. }
  70. //---------------------------------------------------------------------------
  71. void __fastcall TForm1::trkAdvancedBlurHiClampChange(TObject *Sender)
  72. {
  73. GLBlur1->AdvancedBlurHiClamp = trkAdvancedBlurHiClamp->Position;
  74. }
  75. //---------------------------------------------------------------------------
  76. void __fastcall TForm1::trkAdvancedBlurLoClampChange(TObject *Sender)
  77. {
  78. GLBlur1->AdvancedBlurLowClamp = trkAdvancedBlurLoClamp->Position;
  79. }
  80. //---------------------------------------------------------------------------
  81. void __fastcall TForm1::edtAdvancedBlurAmpChange(TObject *Sender)
  82. {
  83. GLBlur1->AdvancedBlurAmp = StrToFloat(edtAdvancedBlurAmp->Text);
  84. }
  85. //---------------------------------------------------------------------------
  86. void __fastcall TForm1::edtAdvancedBlurPassesChange(TObject *Sender)
  87. {
  88. GLBlur1->AdvancedBlurPasses = StrToInt(edtAdvancedBlurPasses->Text);
  89. }
  90. //---------------------------------------------------------------------------