Komisches Problem in GLScene

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1639
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Komisches Problem in GLScene

Beitrag von fliegermichl »

Unter GLSceneLCL\Examples\editors\SceneMaster ist ein Demoprojekt, welches eine sog. NaviCube darstellt. Ich fand das ganz nett und hab diese Unit in mein Testprojekt kopiert und exakt genauso eingebunden wie in dem Beispielprojekt.
In dem Beispielprojekt sieht das so aus:
Anzeige im Beispielprojekt Scenemaster
Anzeige im Beispielprojekt Scenemaster
SceneMaster.png (107.35 KiB) 1808 mal betrachtet
In meiner Testanwendung sieht es allerdings so aus:
Anzeige in meinem Testprogramm
Anzeige in meinem Testprogramm
glscenetest.png (42.36 KiB) 1808 mal betrachtet
Mir ist vollkommen schleierhaft, wie das zustande kommt. Hat da evtl. jemand eine Idee?
Das Testprogramm ist im Anhang (Erfordert Package GLScene aus dem OPM).
Dateianhänge
glscenetest.zip
(146.98 KiB) 53-mal heruntergeladen

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1639
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Komisches Problem in GLScene

Beitrag von fliegermichl »

Ich bin hier ein klein wenig weitergekommen, obwohl mir das noch viel mehr Fragezeichen ins Gesicht zaubert.
Ich hab im FormCreate der MaterialLibrary ein Material hinzugefügt und das der GLPlane1 zugewiesen.

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
var M : TGLMaterial;
    LM : TGLLibMaterial;
begin
  LM := Material.AddTextureMaterial('texmat', 'bitmap1.bmp');
  M := LM.Material;
  M.Texture.Disabled := False;
  LM.TextureOffset.X := 1;
  GLPlane1.Material.MaterialLibrary := Material;
  GLPLane1.Material.LibMaterialName:='texmat';
end;
und nun schaut der NaviCube aus wie er soll.
Das hat doch gar nichts miteinander zu tun.
glscenetest2.png
glscenetest2.png (38.78 KiB) 1771 mal betrachtet
Edit: Diese Zeile macht den Unterschied. Aber wieso?

Code: Alles auswählen

 LM.TextureOffset.X := 1;

Mathias
Beiträge: 6899
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Komisches Problem in GLScene

Beitrag von Mathias »

Sehe ich das richtig, das GLScene ein Oldie ist ?

Code: Alles auswählen

//
// Heavily based on Delphi Free Stuff Include File
//                  by Brad Stowers: bstowers@pobox.com
//                  Delphi Free Stuff: http://www.delphifreestuff.com/
//
// History:
// 09/09/14 - PW - Dropped support for compilers older then Delphi7
// 10/11/12 - PW - Added support for Delphi and C++Builder with
//                 GLS_DELPHI and GLS_CPPB defines
// 02/04/10 - Yar - Added GLS_NO_INLINE option
// 13/12/09 - DaStr - Added GLS_MULTITHREAD option (thanks Controller)
// 10/11/09 - DaStr - Added Delphi 2010 support
// 07/11/09 - DaStr - Improved FPC compatibility (BugtrackerID = 2893580)        
....
Es gibt da eine Version von diesem Jahr, aber das sieht mir voll nach Delphi aus.
https://sourceforge.net/projects/glscene/
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1639
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Komisches Problem in GLScene

Beitrag von fliegermichl »

Ja, die ist schon älter. Ist aber die einzige Version, die ich unter Lazarus zum laufen bekomme.
Es gibt auch noch eine LZScene die wohl auch gepflegt wird. Leider startet Lazarus nicht mehr wenn dieses Package installiert ist und schmiert mit einer Access Violation ab.

Antworten