fBlurAdvancedC.cpp 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "fBlurAdvancedC.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma link "GLS.BaseClasses"
  8. #pragma link "GLS.Blur"
  9. #pragma link "GLS.Cadencer"
  10. #pragma link "GLS.Coordinates"
  11. #pragma link "GLS.GeomObjects"
  12. #pragma link "GLS.HUDObjects"
  13. #pragma link "GLS.Material"
  14. #pragma link "GLS.Objects"
  15. #pragma link "GLS.Scene"
  16. #pragma link "GLS.SceneViewer"
  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. SetGLSceneMediaDir();
  28. // Blur GLDummyCube1 and it's children
  29. GLBlur1->TargetObject = GLDummyCube1;
  30. // point to GLDummyCube1
  31. GLCamera1->TargetObject = GLDummyCube1;
  32. // load materials
  33. GLMaterialLibrary1->Materials->Items[0]->Material->Texture->Image->LoadFromFile("beigemarble.jpg");
  34. GLMaterialLibrary1->Materials->Items[1]->Material->Texture->Image->LoadFromFile("moon.bmp");
  35. }
  36. //---------------------------------------------------------------------------
  37. void __fastcall TForm1::GLBlur1BeforeTargetRender(TObject *Sender)
  38. {
  39. TorusImpostor->Visible = true; // GLBlur1 must render the Torusimpostor
  40. }
  41. //---------------------------------------------------------------------------
  42. void __fastcall TForm1::GLBlur1AfterTargetRender(TObject *Sender)
  43. {
  44. TorusImpostor->Visible = false; // GLSCeneViewer1 must NOT render the Torusimpostor
  45. }
  46. //---------------------------------------------------------------------------
  47. void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
  48. const double newTime)
  49. {
  50. GLSceneViewer1->Invalidate();
  51. }
  52. //---------------------------------------------------------------------------
  53. void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
  54. int X, int Y)
  55. {
  56. if (Shift.Contains(ssRight) && (Y > 10))
  57. GLCamera1->AdjustDistanceToTarget(my/Y);
  58. if (Shift.Contains(ssLeft))
  59. GLCamera1->MoveAroundTarget(my-Y,mx-X);
  60. mx = X;
  61. my = Y;
  62. }
  63. //---------------------------------------------------------------------------
  64. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  65. {
  66. LabelFPS->Caption = GLSceneViewer1->FramesPerSecondText(0);
  67. GLSceneViewer1->ResetPerformanceMonitor();
  68. }
  69. //---------------------------------------------------------------------------
  70. void __fastcall TForm1::trkAdvancedBlurHiClampChange(TObject *Sender)
  71. {
  72. GLBlur1->AdvancedBlurHiClamp = trkAdvancedBlurHiClamp->Position;
  73. }
  74. //---------------------------------------------------------------------------
  75. void __fastcall TForm1::trkAdvancedBlurLoClampChange(TObject *Sender)
  76. {
  77. GLBlur1->AdvancedBlurLowClamp = trkAdvancedBlurLoClamp->Position;
  78. }
  79. //---------------------------------------------------------------------------
  80. void __fastcall TForm1::edtAdvancedBlurAmpChange(TObject *Sender)
  81. {
  82. GLBlur1->AdvancedBlurAmp = StrToFloat(edtAdvancedBlurAmp->Text);
  83. }
  84. //---------------------------------------------------------------------------
  85. void __fastcall TForm1::edtAdvancedBlurPassesChange(TObject *Sender)
  86. {
  87. GLBlur1->AdvancedBlurPasses = StrToInt(edtAdvancedBlurPasses->Text);
  88. }
  89. //---------------------------------------------------------------------------