123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "fRenderToTextureC.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "GLS.BaseClasses"
- #pragma link "GLS.Cadencer"
- #pragma link "GLS.Coordinates"
- #pragma link "GLS.FBORenderer"
- #pragma link "GLS.Material"
- #pragma link "GLS.Objects"
- #pragma link "GLS.Scene"
- #pragma link "GLS.SimpleNavigation"
- #pragma link "GLS.SceneViewer"
- #pragma resource "*.dfm"
- TForm1 *Form1;
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- Triger = false;
- FramerateRatio = 1;
- N = 0;
- GLCube1->Material->LibMaterialName = GLFBORenderer2->ColorTextureName;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Timer1Timer(TObject *Sender)
- {
- GLSceneViewer1->ResetPerformanceMonitor();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::CheckBox1Click(TObject *Sender)
- {
- if (CheckBox1->Checked)
- GLSceneViewer1->VSync = vsmSync;
- else
- GLSceneViewer1->VSync = vsmNoSync;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
- const double newTime)
- {
- GLSceneViewer1->Invalidate();
- GLCube1->Turn(60*deltaTime);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GLDirectOpenGL1Render(TObject *Sender, TGLRenderContextInfo &rci)
- {
- N++;
- if (N >= FramerateRatio)
- {
- GLFBORenderer2->Active = Triger;
- Triger =!Triger;
- GLFBORenderer1->Active = Triger;
- N = 0;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GLFBORenderer1AfterRender(TObject *Sender, TGLRenderContextInfo &rci)
- {
- GLCube1->Material->LibMaterialName = GLFBORenderer1->ColorTextureName;
- GLFBORenderer1->Active = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::GLFBORenderer2AfterRender(TObject *Sender, TGLRenderContextInfo &rci)
- {
- GLCube1->Material->LibMaterialName = GLFBORenderer2->ColorTextureName;
- GLFBORenderer2->Active = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::SBClick(TObject *Sender)
- {
- int Size;
- switch (SB->ItemIndex) {
- case 0: Size = 256; break;
- case 1: Size = 512; break;
- case 2: Size = 2048; break;
- default:
- ;
- }
- GLFBORenderer1->Width = Size;
- GLFBORenderer1->Height = Size;
- GLFBORenderer2->Width = Size;
- GLFBORenderer2->Height = Size;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::RBClick(TObject *Sender)
- {
- switch (RB->ItemIndex) {
- case 0: FramerateRatio = 1; break;
- case 1: FramerateRatio = 2; break;
- case 2: FramerateRatio = 10; break;
- default:
- ;
- }
- }
- //---------------------------------------------------------------------------
|