fSimpleShaderC.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef fSimpleShaderCH
  2. #define fSimpleShaderCH
  3. //---------------------------------------------------------------------------
  4. #include <Classes.hpp>
  5. #include <Controls.hpp>
  6. #include <StdCtrls.hpp>
  7. #include <Forms.hpp>
  8. #include <ExtCtrls.hpp>
  9. #include "GLS.OpenGLAdapter.hpp"
  10. #include "GLS.BitmapFont.hpp"
  11. #include "GLS.Cadencer.hpp"
  12. #include "GLS.GeomObjects.hpp"
  13. #include "GLS.HUDObjects.hpp"
  14. #include "GLS.Objects.hpp"
  15. #include "GLS.Scene.hpp"
  16. #include "GLS.Texture.hpp"
  17. #include "GLSL.UserShader.hpp"
  18. #include "GLS.VectorFileObjects.hpp"
  19. #include "GLS.SceneViewer.hpp"
  20. #include "GLS.WindowsFont.hpp"
  21. #include "GLS.BaseClasses.hpp"
  22. #include "GLS.Coordinates.hpp"
  23. #include "GLS.Material.hpp"
  24. #include "GLS.Context.hpp"
  25. //---------------------------------------------------------------------------
  26. #define MAXSHADERS 10
  27. class TForm1 : public TForm
  28. {
  29. __published: // IDE-managed Components
  30. TGLSceneViewer *GLSceneViewer1;
  31. TGLScene *GLScene1;
  32. TGLDirectOpenGL *GLDOInitialize;
  33. TGLDummyCube *Scene;
  34. TGLCube *GLCube1;
  35. TGLSphere *GLSphere1;
  36. TGLCone *GLCone1;
  37. TGLFreeForm *GLFreeForm1;
  38. TGLDummyCube *DummyLight;
  39. TGLLightSource *Light;
  40. TGLHUDText *GLHUDText1;
  41. TGLCamera *Cam;
  42. TGLCadencer *GLCadencer1;
  43. TGLUserShader *GLUserShader1;
  44. TTimer *Timer1;
  45. TGLWindowsBitmapFont *GLWindowsBitmapFont1;
  46. TGLMaterialLibrary *MatLib;
  47. void __fastcall GLCadencer1Progress(TObject *Sender,
  48. const double deltaTime, const double newTime);
  49. void __fastcall GLUserShader1DoApply(TObject *Sender,
  50. TGLRenderContextInfo &rci);
  51. void __fastcall GLUserShader1DoUnApply(TObject *Sender, int Pass,
  52. TGLRenderContextInfo &rci, bool &Continue);
  53. void __fastcall Timer1Timer(TObject *Sender);
  54. void __fastcall GLSceneViewer1MouseDown(TObject *Sender,
  55. TMouseButton Button, TShiftState Shift, int X, int Y);
  56. void __fastcall GLSceneViewer1MouseMove(TObject *Sender,
  57. TShiftState Shift, int X, int Y);
  58. void __fastcall FormCreate(TObject *Sender);
  59. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  60. void __fastcall GLDOInitializeRender(TObject *Sender,
  61. TGLRenderContextInfo &rci);
  62. void __fastcall FormMouseWheel(TObject *Sender, TShiftState Shift, int WheelDelta,
  63. TPoint &MousePos, bool &Handled);
  64. private: // User declarations
  65. bool ShaderActived;
  66. int mx,my;
  67. public: // User declarations
  68. TGLProgramHandle *GLSLProg[MAXSHADERS-1];
  69. __fastcall TForm1(TComponent* Owner);
  70. };
  71. //---------------------------------------------------------------------------
  72. extern PACKAGE TForm1 *Form1;
  73. //---------------------------------------------------------------------------
  74. #endif