Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   GLScene Tesselation (https://www.delphipraxis.net/183424-glscene-tesselation.html)

Bambini 8. Jan 2015 16:00

GLScene Tesselation
 
Hat jemand ein Idee warum die Tessalation Funktion von GLScene nicht funktioniert.
Bei dem folgenden Code passiert in dem DoTesselate() leider gar nix,
d.h. es wird keines der Callbacks Funktionen gerufen. Nicht einmal die DoTessError:

Code:
uses
  VectorLists, GLGLUTesselation, GLVectorFileObjects;


procedure TForm2.Button5Click(Sender: TObject);
var
  Vertexes : TAffineVectorList;
  Mesh    : TGLBaseMesh;
begin

  Vertexes := TAffineVectorList.Create;
  Mesh    := TGLBaseMesh.Create(GLScene1.Objects);
  try
     Vertexes.Add(0, 0, 0);
     Vertexes.Add(2, 0, 0);
     Vertexes.Add(2, 2, 0);
     Vertexes.Add(0, 2, 0);

     DoTesselate(Vertexes, Mesh);

     // kommt da etwas zurück?
     Memo1.Lines.Add('Tess Vertices Count: '+Mesh.MeshObjects[0].Vertices.Count.ToString);

  finally
     Mesh.Free;
     Vertexes.Free;
  end;

Uwe Raabe 8. Jan 2015 16:26

AW: GLScene Tesselation
 
Wenn du keinen Normalenvektor angibst, verwendet DoTesselate den Y-Einheitsvektor. Da dein Polygon aber in der XY-Ebene liegt, kommt bei der Tesselierung nichts raus. So z.B. sollte es funktionieren:

Delphi-Quellcode:
     DoTesselate(Vertexes, Mesh, @ZVector);

Bambini 8. Jan 2015 16:52

AW: GLScene Tesselation
 
Hi Uwe,
danke für die Antwort. es klappt jetzt.
Kann ich den Tesselator auch dazu bewegen mein Fläche in Dreiecke zu zerlegen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz