fMultiTextureC.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include <tchar.h>
  4. #pragma hdrstop
  5. #include "fMultiTextureC.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. #pragma link "GLS.BaseClasses"
  9. #pragma link "GLS.Coordinates"
  10. #pragma link "GLS.Material"
  11. #pragma link "GLS.Objects"
  12. #pragma link "GLS.Scene"
  13. #pragma link "GLS.SceneViewer"
  14. #pragma resource "*.dfm"
  15. TFormMultiTexture *FormMultiTexture;
  16. //---------------------------------------------------------------------------
  17. __fastcall TFormMultiTexture::TFormMultiTexture(TComponent* Owner)
  18. : TForm(Owner)
  19. {
  20. }
  21. //---------------------------------------------------------------------------
  22. void __fastcall TFormMultiTexture::FormCreate(TObject *Sender)
  23. {
  24. TFileName Path = GetCurrentAssetPath();
  25. SetCurrentDir(Path + "\\texture");
  26. // prepare images to merge in the multitexture
  27. Image1->Picture->LoadFromFile("ashwood.jpg");
  28. GLMaterialLibrary1->Materials->Items[0]->Material->Texture->Image->Assign(Image1->Picture);
  29. Image2->Picture->LoadFromFile("Flare1.bmp");
  30. GLMaterialLibrary1->Materials->Items[1]->Material->Texture->Image->Assign(Image2->Picture);
  31. }
  32. //---------------------------------------------------------------------------
  33. void __fastcall TFormMultiTexture::Image1Click(TObject *Sender)
  34. {
  35. // load a new Image1
  36. if (OpenPictureDialog1->Execute()) {
  37. Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
  38. GLMaterialLibrary1->Materials->Items[0]->Material->Texture->Image->Assign(Image1->Picture);
  39. }
  40. }
  41. //---------------------------------------------------------------------------
  42. void __fastcall TFormMultiTexture::Image2Click(TObject *Sender)
  43. {
  44. // load a new Image2
  45. if (OpenPictureDialog1->Execute()) {
  46. Image2->Picture->LoadFromFile(OpenPictureDialog1->FileName);
  47. GLMaterialLibrary1->Materials->Items[1]->Material->Texture->Image->Assign(Image2->Picture);
  48. }
  49. }
  50. //---------------------------------------------------------------------------
  51. void __fastcall TFormMultiTexture::TrackBar1Change(TObject *Sender)
  52. {
  53. // adjust scale
  54. GLMaterialLibrary1->Materials->Items[1]->TextureScale->X = TrackBar1->Position/10;
  55. GLMaterialLibrary1->Materials->Items[1]->TextureScale->Y = TrackBar1->Position/10;
  56. }
  57. //---------------------------------------------------------------------------