fSimpleShaderC.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. #include "GLS.SimpleNavigation.hpp"
  26. //---------------------------------------------------------------------------
  27. #define MAXSHADERS 10
  28. class TForm1 : public TForm
  29. {
  30. __published: // IDE-managed Components
  31. TGLSceneViewer* GLSceneViewer1;
  32. TGLScene* GLScene1;
  33. TGLDirectOpenGL* GLDOInitialize;
  34. TGLDummyCube* Scene;
  35. TGLCube* GLCube1;
  36. TGLSphere* GLSphere1;
  37. TGLCone* GLCone1;
  38. TGLFreeForm* GLFreeForm1;
  39. TGLDummyCube* DummyLight;
  40. TGLLightSource* Light;
  41. TGLHUDText* GLHUDText1;
  42. TGLCamera* Cam;
  43. TGLCadencer* GLCadencer1;
  44. TGLUserShader* GLUserShader1;
  45. TTimer* Timer1;
  46. TGLWindowsBitmapFont* GLWindowsBitmapFont1;
  47. TGLMaterialLibrary* MatLib;
  48. TGLSimpleNavigation *GLSimpleNavigation1;
  49. void __fastcall GLCadencer1Progress(
  50. TObject* Sender, const double deltaTime, const double newTime);
  51. void __fastcall GLUserShader1DoApply(
  52. TObject* Sender, TGLRenderContextInfo &rci);
  53. void __fastcall GLUserShader1DoUnApply(
  54. TObject* Sender, int Pass, TGLRenderContextInfo &rci, bool &Continue);
  55. void __fastcall Timer1Timer(TObject* Sender);
  56. void __fastcall GLSceneViewer1MouseDown(
  57. TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
  58. void __fastcall GLSceneViewer1MouseMove(
  59. TObject* Sender, TShiftState Shift, int X, int Y);
  60. void __fastcall FormCreate(TObject* Sender);
  61. void __fastcall FormClose(TObject* Sender, TCloseAction &Action);
  62. void __fastcall GLDOInitializeRender(
  63. TObject* Sender, TGLRenderContextInfo &rci);
  64. void __fastcall FormMouseWheel(TObject* Sender, TShiftState Shift,
  65. int WheelDelta, TPoint &MousePos, bool &Handled);
  66. private: // User declarations
  67. bool ShaderActived;
  68. int mx, my;
  69. public: // User declarations
  70. TFileName Path;
  71. TGLProgramHandle* GLSLProg[MAXSHADERS - 1];
  72. __fastcall TForm1(TComponent* Owner);
  73. };
  74. //---------------------------------------------------------------------------
  75. extern PACKAGE TForm1* Form1;
  76. //---------------------------------------------------------------------------
  77. #endif