Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 05:09

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Aug 26, 2003 09:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jun 25, 2003 12:44
Beiträge: 29
Hi!
Ich verwende den OpgenGL 1.2 Header und hab folgendes Problem:
Code:
  1. procedure billboardBegin;
  2. var modelview: array[0..16] of TGLFloat;
  3.     i,j:integer;
  4. begin
  5.   glPushMatrix;
  6.   glGetFloatv(GL_MODELVIEW_MATRIX , modelview);
  7.   for i := 0 to 3 do
  8.     for j := 0 to 3 do
  9.       if i = j then
  10.          modelview[i*4+j] := 1.0
  11.       else
  12.          modelview[i*4+j] := 0.0;
  13.   glLoadMatrixf(modelview);
  14. end;
  15.  

in der Zeile mit glGetFloatv und in der Zeile mit glLoadMatrixf bekomm ich folgenden Fehler:
Inkompatible Typen 'Array' und 'PGLFloat'
Den Code hab ich aus einem C Beispiel und unter C funktioniert's.
Was muss ich machen, dass es keinen Fehler mehr gibt?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 26, 2003 09:23 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
das liegt wohl daran, dass der 2. parameter ein pointer zu sein hat, ändere das mal in:
glGetFloatv(GL_MODELVIEW_MATRIX , @modelview[0]);

....mehr sag ich jetzt mal besser nicht zu...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 26, 2003 09:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also das hat eigentlich überhaupt nichts mit OpenGL zu tun sondern eher mit deinem programmierten!

glGetFloatv möchte als zweiten Parameter einen Pointer auf ein Array.
Versuch mal folgendes.
glGetFloatv(GL_MODELVIEW_MATRIX , @modelview);

Um ihm explizit zu sagen, dass er das erste Element nehmen soll kannst du auch folgendes nehmen.
glGetFloatv(GL_MODELVIEW_MATRIX , @modelview[0]);
Ist aber nicht zwingend notwendig.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 26, 2003 09:39 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
@Lossy: sicher ist es nicht notwendig, sobald man aber anfängt auch dynamische Arrays zu verwenden ist das auf alle Fälle die bessere Idee, da man sich dann gewisse fehler von vornherein abgewöhnt hat


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 26, 2003 10:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jun 25, 2003 12:44
Beiträge: 29
Danke für die schnellen antworten!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 26, 2003 10:17 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich sehe ja jetzt erst, dass sich die Antworten überschnitten haben. :roll:

@Delphic: Das hat du recht. Es ist auf alle Fälle sicherer die explizite Angabe des Elements mit zu übergeben. Aber ich hatte bisher mit dynaschen Arrays noch keine großen Probleme. Wobei ich auch gestehen muss, dass ich dynasche Arrays so gut wie nie irgendwo übergebe oder übergeben habe.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]