AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mesh zur Laufzeit erstellen in OpenGL
Thema durchsuchen
Ansicht
Themen-Optionen

Mesh zur Laufzeit erstellen in OpenGL

Ein Thema von Bastler · begonnen am 14. Mär 2007 · letzter Beitrag vom 18. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#1

Mesh zur Laufzeit erstellen in OpenGL

  Alt 14. Mär 2007, 19:09
Hallo zusammen;

Ich habe eine recht einfache Frage, deren Antwort vllt. genauso einfach ist, mir aber momentan noch unbekannt ist.

Ich möchte während das Programm läuft Meshes erstellen*. Geht das? (Müsste eigentlich)
Die Frage ist: WIE?

Danke für Eure Tipps und Hinweise !

*) Konkretes Beispiel, ich möchte in einem Edit die Anzahl an Objekten eingeben, und diese sollen dann erstellt werden.
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 14. Mär 2007, 19:13
Zwischenfrage

Mit / in was OpenGL-API oder GLScene?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#3

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 14. Mär 2007, 19:19
GLScene... sorry das ich das vergessen hatte
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 14. Mär 2007, 20:16
Es gibt zB. TGLMesh mit dessen Hilfe kannst du dir ein Mesh zur Laufzeit bauen.

Delphi-Quellcode:
uses VectorGeometry, Vectortypes;

function Vector3f(x,y,z: single): TVector3f;
begin
  Vector3f[0] := x;
  Vector3f[1] := y;
  Vector3f[2] := z;
end;

function Vector4f(x,y,z,d: single): TVector4f;
begin
  Vector4f[0] := x;
  Vector4f[1] := y;
  Vector4f[2] := z;
  Vector4f[3] := d;
end;

procedure foo;
var
  v: TVertexData;
begin
  GLMesh1.mode := mmPolygon;

  v.coord := Vector3f(1,1,1);
  v.textCoord := XTexPoint;
  v.color := Vector4f(1,0,0,0);
  GLMesh1.Vertices.AddVertex(v);

  //...

  v.coord := Vector3f(0,1,0);
  v.textCoord := XYTexPoint;
  v.color := Vector4f(1,0,1,0);
  GLMesh1.Vertices.AddVertex(v);

end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#5

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 14. Mär 2007, 20:21
Ich hatte eigentlich weniger vor mir ein Mesh zu bauen, als mehr einfach ne BasicGeometry hinzuzufügen... geht das auch , und evtl etwas einfacher ???
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#6

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 14. Mär 2007, 20:57
Die Frage ist, was du überhaupt willst. Ein Mesh kannst du in OpenGL ganz einfach über eine Liste (glBeginList, glEndList) bauen, oder jedes Mal die Vertices, Indices, Texturkoordinaten, etc. von neuem zur Grafikkarte übertragen. Oder du legst einen Vertexpuffer (Indexpuffer, Texturkoordinatenpuffer, etc.) an.

Wenn du ein Objekt dagegen ganz einfach nur mehrmals anzeigen willst, musst du es einfach mehrmals rendern.
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#7

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 16. Mär 2007, 15:47
Ich möchte z.b. 2 Kugeln haben, sobald diese sich Treffen, soll eine dritte Kugel "entstehen"... ich hoffe es ist halbwegs verständlich... (Das mit dem Treffen und dem CollisionsManager ist nicht das Problem...)
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#8

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 17. Mär 2007, 14:11
In der Regel wirst du nur ein einziges Mesh einer Kugel haben. Wieso auch mehrmals die selben Daten im Speicher haben? Diese Kugel kannst du dann so oft du willst rendern. Dann sieht es so aus, als würde es mehrere Kugeln geben.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 17. Mär 2007, 14:37
@Oxmyx, hi

Er arbeitet mit GLscene. In GLScene gibt es auch einfache Basic Objecte, die kannst du entweder statisch erstellen oder dynamisch.

Ein GlScene Objekt kannst du auch im GlSceneeditor auf Visible = FALSE stellen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#10

Re: Mesh zur Laufzeit erstellen in OpenGL

  Alt 18. Mär 2007, 21:52
Ja nur leider kommt das für mich in diesem Fall nicht in Frage, also jetzt wo gesagt wurde, das ich BasicObjects dynamisch ertsellen kann frage ich nochmal: wie???
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 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