fLiningShadersC.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "fLiningShadersC.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma link "GLS.BaseClasses"
  8. #pragma link "GLS.Coordinates"
  9. #pragma link "GLS.GeomObjects"
  10. #pragma link "GLS.Material"
  11. #pragma link "GLS.Objects"
  12. #pragma link "GLS.Scene"
  13. #pragma link "GLS.SceneViewer"
  14. #pragma link "GLSL.LineShaders"
  15. #pragma resource "*.dfm"
  16. TForm1 *Form1;
  17. //---------------------------------------------------------------------------
  18. __fastcall TForm1::TForm1(TComponent* Owner)
  19. : TForm(Owner)
  20. {
  21. }
  22. //---------------------------------------------------------------------------
  23. void __fastcall TForm1::GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button,
  24. TShiftState Shift, int X, int Y)
  25. {
  26. mx = X; my = Y;
  27. }
  28. //---------------------------------------------------------------------------
  29. void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
  30. int X, int Y)
  31. {
  32. if (Shift.Contains(ssLeft))
  33. GLCamera1->MoveAroundTarget(my-Y, mx-X);
  34. else
  35. if (Shift.Contains(ssRight))
  36. GLCamera1->RotateTarget(my-Y, mx-X);
  37. mx = X; my = Y;
  38. }
  39. //---------------------------------------------------------------------------
  40. void __fastcall TForm1::CheckBox1Click(TObject *Sender)
  41. {
  42. GLOutlineShader1->Enabled = CheckBox1->Checked;
  43. }
  44. //---------------------------------------------------------------------------
  45. void __fastcall TForm1::CheckBox2Click(TObject *Sender)
  46. {
  47. GLHiddenLineShader2->Enabled = CheckBox2->Checked;
  48. }
  49. //---------------------------------------------------------------------------
  50. void __fastcall TForm1::CheckBox3Click(TObject *Sender)
  51. {
  52. GLHiddenLineShader2->Solid = CheckBox3->Checked;
  53. }
  54. //---------------------------------------------------------------------------
  55. void __fastcall TForm1::CheckBox4Click(TObject *Sender)
  56. {
  57. if (CheckBox4->Checked)
  58. GLHiddenLineShader2->BackLine->Pattern = 0xFF00; // bit pattern
  59. else
  60. GLHiddenLineShader2->BackLine->Pattern = 0xFFFF;
  61. }
  62. //---------------------------------------------------------------------------
  63. void __fastcall TForm1::CheckBox5Click(TObject *Sender)
  64. {
  65. GLHiddenLineShader2->SurfaceLit = CheckBox5->Checked;
  66. }
  67. //---------------------------------------------------------------------------
  68. void __fastcall TForm1::CheckBox6Click(TObject *Sender)
  69. {
  70. if (CheckBox6->Checked)
  71. GLHiddenLineShader2->ShadeModel = smFlat;
  72. else
  73. GLHiddenLineShader2->ShadeModel = smSmooth;
  74. }
  75. //---------------------------------------------------------------------------