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

Aktuelle Zeit: Sa Jul 19, 2025 21:46

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



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: TexCoord aufruf unter C++
BeitragVerfasst: So Okt 09, 2005 15:00 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hab ein klines Problem mit GL unter C++.

wenn ich das hier versuche:
Code:
  1. glBegin(GL_QUADS);
  2.           //center
  3.           glTexCoord2f(  8/511,  8/511);    glVertex2i( blX+8  , urY-8  );
  4.           glTexCoord2f(  8/511,119/511);    glVertex2i( blX+8  , blY+8  );
  5.           glTexCoord2f(119/511,119/511);    glVertex2i( urX-8  , blY+8  );
  6.           glTexCoord2f(119/511,  8/511);    glVertex2i( urX-8  , urY-8  );
  7.           //upper left corner
  8.           glTexCoord2f(  0.0  ,  0.0  );    glVertex2i(   blX  ,  urY   );
  9.           glTexCoord2f(  0.0  ,  7/511);    glVertex2i(   blX  , urY-8  );
  10.           glTexCoord2f(  7/511,  7/511);    glVertex2i( blX+8  , urY-8  );
  11.           glTexCoord2f(  7/511,  0.0  );    glVertex2i( blX+8  ,  urY   );
  12.           //usw.......
  13.  


seh ich nur die Quads...von Textur ist weit und breit nix zu sehn.
Ich hab direkt vor dem besagten aufruf, mal ein Quad gerendert. Das hab ich geshcafft, indem ich bei den Texturkoordinaten (0,0)...(1,1) genommen hab.

Ich vermute, dass C++ mit den Brüchen was unanständiges anfängt, und GL das net kapiert.

Wisst ihr was ich falsch mache?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 15:04 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Es wird eine Integer Division (div) durchgeführt, falls beide Operanden int sind. Daher muß man hinter die Konstanten ein f schreiben: 8f/511f


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 16:05 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmmmm sowas hatte ich befürchtet....

Wenn ich das aber ändere in die von dir propagierte Version erhalte ich:

Code:
  1. invalid suffix "f" on integer constant


Ist das vielleicht ein VisualC++ "Standard"?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 16:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Probiers mal mit 8.0f/115.0f

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 16:26 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
habs mit 8./115. gelöst.

Also...ohne wieder C++ vs. Delphi Schlammschlachten auszufechten... Die Operatorsache in Delphi is mir da lieber. Bruche sind niemals Integer, außer man dividiert geziehlt mit DIV.

Nunja... Man gewöhnt sich vermutlich an alles... nur hält einem solcher Kleingram verdammt lang auf. Ich hab hier Code vormier liegen an dem ich 3 Wochen arbeite. Das selbe hätte ich in Delphi warscheinlich in max. 1 Woche geschrieben. Andauernd hängt man an solchen Mist... Wenn man sich von seiner Muttersprache entfernt, kostet das gleich massiv Zeit. :evil:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 16:49 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Gibt's da eigentlich keine Fehler wegen impliziter Double=> Float Konvertierung?

Ich habe auch schon tolle Erfahrungen mit C++ gemacht und es ist immer wieder ein Vergnügen wenn so was ansteht. Ich muß an der Uni auch mit C++, gcc und qt OpenGL programmieren. Geschrieben wird der ganze Quelltext dann mit kwrite oder kate (Notepad mit Syntaxhervorhebung). Ein Debugger ist angeblich nicht nötig, weil man damit sowieso keine Fehler in Grafikalgorithmen finden kann. Das ganze hält tatsächlich enorm auf. Habe für eine einfache Bezier Kurve mehrere Stunden benötigt. Hat man Änderungen an der Form durchgeführt muß qt erstmal wieder jede Menge Code generieren. Hat man ein ";" vergessen, läuft der gcc erstmal eine gewisse Zeit und spuckt dann 3-4 Bildschirmseiten Fehlermeldungen aus, aus denen man sich dann die Ursache zusammenreimen kann. Ja so macht es richtig Spaß mit C++ zu arbeiten, wenn man die Hälfte der Zeit warten muß. Bei Delphi läuft das Programm schon bevor man die F9 Taste losgelassen hat. Aber nur beim Delphi für Win32, an das neue will ich gar nicht denken.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 18:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nun eine passable IDE hab ich: Eclipse mit CDT.

Da is das Debuggen und Fehlerfinden schonmal etwas angenehmer. Was aber enorm nervt sind diese ewigen Compilierzeiten. Wenn ich in meiner Klassenhierarchie ganz unten was ändere dann kompiliert der schonmal 30 Sekunden... Da kann man dann schonmal Kaffe machen gehn... :roll:

In der Beziehung muss man C++ entwickler richtig bewundern...Die müssen ganz schön Gedult haben. (Aber wers nicht anders kennt, wird auch nicht wissen, dass man in 2 Sec ein 50000 Zeilen Projekt compilieren kann... ;) )

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 21:29 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Zitat:
dass man in 2 Sec ein 50000 Zeilen Projekt compilieren kann...
Das ist aber nicht so. Delphi kann so etwas nicht. Es sein denn 99% der Units sind bereits vorkompileirt (DCU-s)...
C++ an sich ist nicht langsam zu kompieleiren, sondern es liegt meistens an der IDE (siehe Borland Builder), die die Sprache verwaltet.
Delphi compiler ist SinglePass compiler, c/c++ muss man mit multipass kompilieren.
Und es gibt ein kleines aber feines Unterschied was die änderungen im c/c++ code betrifft. Es ist nicht das Selbe etwas in einer *.h und einer *.c /*.cpp Datei zu ändern und dann zu kompielieren...Zweite geht schneller.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 21:45 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Irgendjemand hatte hier doch mal ein Bsp Programm mit 1.000.000 Zeilen gemacht und das wurde in 10-20 Sekunden kompiliert.
Warum soll C++ zwingend Multipass sein? Da gibt's doch eigentlich keinen Grund, auch wenn der gcc tatsächlich mehrere Pass benutzt. Aber auch ohne IDE direkt von der Kommandozeile ist der gcc erschreckend langsam


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 09, 2005 21:47 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
sniper_w hat geschrieben:
Zitat:
dass man in 2 Sec ein 50000 Zeilen Projekt compilieren kann...
Das ist aber nicht so. Delphi kann so etwas nicht. Es sein denn 99% der Units sind bereits vorkompileirt (DCU-s)...

Nun Delphi kann eine Datei auch nicht in einem einzigen Schritt kompilieren, was an den Abhängigkeiten zwischen Units liegt und deshalb auch Delphi Dateien zwei Runden durch den Compiler machen - nur ist das bei Delphi so, daß der erste gang durch das Interface, der zweite durch die implementation Teil geht. Und weil die Sprache gut durchdacht ist, ist bei jedem Schritt sehr klar, welche Symbole folgen werden, weshalb das durchkompilieren sehr flott geht. Ob Delphi beim neuübersetzen von 50.000 nun 2 oder 8 Sekunden braucht reists dann nicht mehr raus - so flott wird ein echter C++ Compiler auf der selben Maschiene zwecks Sprache kaum werden. Aber über die Vorteile von C/++ und Delphi zu streiten ist hier nicht der richtige ort und weil ich weiß wie das ausgeht.... solltet ihr aufhören darüber zu diskutieren. Jedenfalls nicht in diesem unpassenden Thread. Ist vielleicht besser in nem IRC, dann gibts zwar im schlimmsten Fall logs vom gezanke, aber am Ende ist es nicht hier verewigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 10, 2005 17:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Zu den casts in C++: das ist gewollt. Wer C-Programm kennt, weis wie gerne implizite Casts gemacht wurden und was für eine große Fehlerquelle das ist. Daher muss man Casts in C++ explizit angeben. Das macht Arbeit, und was Arbeit macht da denkt man drüber nach. Und genau das ist gewollt, um so Fehler zu vermeiden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 10, 2005 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
ach und zu den Compile-Zeiten: ich kenne die Eclipse-IDE nicht. Unter Visual C++ gibts vorkompilierte Header, kannst ja schauen obs da auch sowas gibt.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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.008s | 14 Queries | GZIP : On ]