Problem beim initialisieren eines OpenGL Fensters

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Problem beim initialisieren eines OpenGL Fensters

Beitrag von cloidnerux » So Mär 15, 2009 7:14 pm

Also, ich habe mich ein wenig mit OpenGl beschäftigt und ein wenig herumgespielt.
In diesem ramen habe ich die OpenGL Initilatoin in eine Klasse und damit in eine Externe Datei gepackt.
Alle benötigten externen variablen habe ich per

Code: Alles auswählen

extern <variable> name;
verfügbar gemacht. Beim Starten oder Compilieren kommt auch keine Fehlermeldung.
Es erscheint der Rahmen des Fensters, aber es geschieht nciht innen drinn.
Normal sollte es dort Schwarz sein.
Cih arbeite unter Windows und VC++.
Hier gibts den Sourcecode
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Problem beim initialisieren eines OpenGL Fensters

Beitrag von Dirty Oerti » So Mär 15, 2009 7:43 pm

Ich hab mir deinen Code nicht angesehen, aber hast du den Code per -Wall kompiliert?
Bzw kannst du dir alle Warnungen ausgeben lassen?
Warnungen können nämlich sehr aufschlussreich sein...
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Problem beim initialisieren eines OpenGL Fensters

Beitrag von cloidnerux » So Mär 15, 2009 7:50 pm

Also bei höchster Warnstufe kommt folgendes:

Code: Alles auswählen

c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\opengl.cpp(133) : warning C4244: 'Initialisierung': Konvertierung von 'int' in 'BYTE', möglicher Datenverlust
main.cpp
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\main.cpp(95) : warning C4100: 'nCmdShow': Unreferenzierter formaler Parameter
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\main.cpp(94) : warning C4100: 'lpCmdLine': Unreferenzierter formaler Parameter
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\main.cpp(93) : warning C4100: 'hPrevInstance': Unreferenzierter formaler Parameter
Game.cpp
Code wird generiert...
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\main.cpp(143) : warning C4701: Die möglicherweise nicht initialisierte lokale Variable "msg" wurde verwendet.
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\opengl.cpp(118) : warning C4706: Zuweisung in bedingtem Ausdruck
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\opengl.cpp(147) : warning C4706: Zuweisung in bedingtem Ausdruck
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\opengl.cpp(154) : warning C4706: Zuweisung in bedingtem Ausdruck
c:\dokumente und einstellungen\jack\eigene dateien\visual studio 2005\projects\opengltest\opengltest\opengl.cpp(168) : warning C4706: Zuweisung in bedingtem Ausdruck
Verknüpfen...
Aber selbst nach behebung der Warnungen ist es nicht besser.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Problem beim initialisieren eines OpenGL Fensters

Beitrag von Kerli » So Mär 15, 2009 7:59 pm

cloidnerux hat geschrieben:Es erscheint der Rahmen des Fensters, aber es geschieht nciht innen drinn.
Normal sollte es dort Schwarz sein.
So beim überfliegen habe ich einmal nirgendwo ein Funktion gefunden die die Bildpuffer tauschen würde. So wie ich das sehe schreibst du immer in einen der Bildpuffer und vertauscht diese aber nie, sodass du natürlich auch nichts sehen kannst...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Problem beim initialisieren eines OpenGL Fensters

Beitrag von cloidnerux » So Mär 15, 2009 8:05 pm

So beim überfliegen habe ich einmal nirgendwo ein Funktion gefunden die die Bildpuffer tauschen würde. So wie ich das sehe schreibst du immer in einen der Bildpuffer und vertauscht diese aber nie, sodass du natürlich auch nichts sehen kannst...
Darn kann es eigentlich nicht liegen, da ich den code nach diesem hier geschriben habe: http://nehe.gamedev.net/data/lessons/l ... ?lesson=01
Außerdem funktionierte der code noch, als er in einer Datei war, was aber sehr unübersichtlich wurde.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Problem beim initialisieren eines OpenGL Fensters

Beitrag von Kerli » So Mär 15, 2009 8:16 pm

cloidnerux hat geschrieben:Darn kann es eigentlich nicht liegen, da ich den code nach diesem hier geschriben habe: [...]
Dann hast du dort aber nicht sehr gut gelesen. Folge doch deinem eigenen Link und suche nach "SwapBuffers". Dann öffne deine Quellcodedateien und suche ebenfalls nach "SwapBuffers". Anschließend erzählst du mir was dir auffällt ;)
cloidnerux hat geschrieben:Außerdem funktionierte der code noch, als er in einer Datei war, was aber sehr unübersichtlich wurde.
Dann ist wohle etwas verloren gegangen :P

Nur so eine Frage am Rande: Weshalb stopfst du deinen Code so mit den verschiedensten Dingen für ein Spiel voll bevor du es noch schaffst einmal ein leeres Fenster mit einer bestimmten Hintergrundfarbe zu erzeugen?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Problem beim initialisieren eines OpenGL Fensters

Beitrag von cloidnerux » Mo Mär 16, 2009 4:12 pm

Achso Danke. Jezt Funktionierts.
Nur so eine Frage am Rande: Weshalb stopfst du deinen Code so mit den verschiedensten Dingen für ein Spiel voll bevor du es noch schaffst einmal ein leeres Fenster mit einer bestimmten Hintergrundfarbe zu erzeugen?
Weil ich davon ausging das das mit dem Füllen Funktioniert, was es auch jezt tut, nur durch einen befehl mehr im Code.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten