Autor Beitrag
guido
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

ME
Delphi 3 / 5
BeitragVerfasst: Do 23.07.09 08:24 
Hallo,

ich versuche mich gerade daran OpenGL Aufrufe die mit einem anderem Tool gerippt wurden Vektormässig so zu sortieren das ich sie mit moveto/lineto in ein Image zeichnen kann.

Das TXT File mit den Einzelaufrufen hab ich so weit "kastriert" das nur noch das drin ist was ich zu brauchen meine. Nebel GLBegin und GLEnd wären das die beiden Befehle glColor3f und glvertex3f

Auffällig ist das teilweise einem Color-Befehl nur ein Vertex folgt und dann wieder eine Color/Vertex Kombination z.b. :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
glColor3f(0.000000,1.000000,0.000000)
glVertex3f(0.325195,-0.234131,0.500000)
glColor3f(0.000000,1.000000,0.000000)
glVertex3f(0.325195,-0.234131,0.500000)

Dann aber wieder ein Color und (max) 2 Vertex gefolt von einem Color..
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
glColor3f(0.000000,1.000000,0.000000)
glVertex3f(0.325195,-0.234131,0.500000)
glVertex3f(0.325195,-0.234131,0.500000)
glColor3f(0.000000,1.000000,0.000000)
.....

Hab diverse Arten der Interpretation durchprobiert und. Den Tutorials nach auf die so verlinkt wird hab ich verstanden das nach einem Coloraufruf ich den ersten wohl mit "moveto" zeichnen müsste und dann "Lineto" bis wieder ein Color kommt.

Das führte aber auch wie andere Versuche zu hässlichen Verbindungslinien zwischen den Objekten die in der Original OpenGL Preview nicht da waren.

Hintergrund: Es gibt diverse Tools die Animationen ausgeben. Diese möchte ich in einer Lasershowsoftware "verbraten". Zur Ansteuerung des Lasers braucht man die Vektoren X und Y sowie die RGB Values. Sind RGB Values alle 0 ist der Laser aus (geblankt). Eine "Moveto" würde ich also als Blankingsprung interpretieren.

Wahrscheinlich ist die Lösung für (jemanden von) euch popelig einfach und ich sitz hier nur mit nem Brett vorm Kopp und seh es einfach nicht...

Danke und Gruss
Guido

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 23.07.09 08:53 
1. OpenGL ist eine Statemaschine
2. Color setzt die Farbe
3. Vertex setzt die Position
4. Farben verden zwischen Vertices mit Gradient überblendet.
5. Grundlagen OpenGL helfen

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 24.07.09 11:47 
Du solltest das vielleicht erstmal mit OpenGL testen bevor du es in moveto und lineto überführst. Da spielen neben den Vertex Befehlen noch ganz andere Sachen eine Rolle.
Wie sehen die Matrizen (GL_MODELVIEW_MATRIX und GL_PROJECTION_MATRIX) aus? Wird GL_LINES GL_LINE_STRIP oder GL_LINE_LOOP oder was auch immer verwendet? Das sind alles Faktoren die bei der Darstellung eine Rolle spielen.

mfg
Gento
Hält's aus hier
Beiträge: 3

Dos , Win200 , WinMe

BeitragVerfasst: Fr 24.07.09 23:38 
Einmal gesetzter glColor3f bleibt gültig bis ein neuer kommt.

Gento

p.s. Manche Lasersoft benutzt OGL nicht richtig :roll: