fMultipassC.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //---------------------------------------------------------------------------
  2. #ifndef fMultipassCH
  3. #define fMultipassCH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include "GLS.GeomObjects.hpp"
  10. #include "GLS.Objects.hpp"
  11. #include "GLS.Scene.hpp"
  12. #include "GLS.Texture.hpp"
  13. #include "GLS.SceneViewer.hpp"
  14. #include "GLS.BaseClasses.hpp"
  15. #include "GLS.Coordinates.hpp"
  16. #include "GLS.Material.hpp"
  17. //---------------------------------------------------------------------------
  18. class TForm1 : public TForm
  19. {
  20. __published: // IDE-managed Components
  21. TGLSceneViewer* GLSceneViewer1;
  22. TButton* BUBind;
  23. TGLScene* GLScene1;
  24. TGLLightSource* GLLightSource1;
  25. TGLTorus* Torus1;
  26. TGLSphere* Sphere1;
  27. TGLAnnulus* GLAnnulus1;
  28. TGLAnnulus* GLAnnulus2;
  29. TGLCube* GLCube1;
  30. TGLSphere* GLSphere1;
  31. TGLCamera* GLCamera1;
  32. TGLMaterialLibrary* GLMaterialLibrary1;
  33. void __fastcall BUBindClick(TObject* Sender);
  34. void __fastcall GLSceneViewer1MouseDown(
  35. TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
  36. void __fastcall GLSceneViewer1MouseMove(
  37. TObject* Sender, TShiftState Shift, int X, int Y);
  38. private: // User declarations
  39. int mx, my;
  40. public: // User declarations
  41. __fastcall TForm1(TComponent* Owner);
  42. };
  43. //---------------------------------------------------------------------------
  44. class THiddenLineShader : public TGLShader
  45. {
  46. private:
  47. public:
  48. __fastcall virtual THiddenLineShader(TComponent* AOwner);
  49. __fastcall virtual ~THiddenLineShader(void);
  50. TGLColorVector BackgroundColor, LineColor;
  51. int PassCount;
  52. void __fastcall DoApply(TGLRenderContextInfo &rci, System::TObject* Sender);
  53. bool __fastcall DoUnApply(TGLRenderContextInfo &rci);
  54. };
  55. class TOutLineShader : public TGLShader
  56. {
  57. private:
  58. public:
  59. __fastcall virtual TOutLineShader(TComponent* AOwner);
  60. __fastcall virtual ~TOutLineShader(void);
  61. TGLColorVector BackgroundColor, LineColor;
  62. bool OutlineSmooth, Lighting;
  63. float OutlineWidth, OldlineWidth;
  64. int PassCount;
  65. void __fastcall DoApply(TGLRenderContextInfo &rci, System::TObject* Sender);
  66. bool __fastcall DoUnApply(TGLRenderContextInfo &rci);
  67. };
  68. //---------------------------------------------------------------------------
  69. extern PACKAGE TForm1* Form1;
  70. //---------------------------------------------------------------------------
  71. #endif