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

Aktuelle Zeit: Sa Jul 19, 2025 12:33

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Do Jul 05, 2007 22:42 
Offline
DGL Member

Registriert: Do Jul 05, 2007 12:53
Beiträge: 2
Hallo alle zusammen!

ich bin relativ neu in Delphi und beschäftige mich neuerdings auch mit OpenGL 8)
Ich habe mir als erstes mal Gedacht ich erstelle so ein Zauberwürfelprogramm.
Ich weiß leider nichtmehr genau wie diese Würfel heißen. Das sind die, wo man so lange drehen muss, bis jede Seite einfarbig ist.

Ein Freund von mir schreibt so etwas als normale VCL Anwenfung. Sozusagen als aufgeklapten Würfel, damit man den Würfel ganz schnell per PC lösen kann. Also da gibts ja so Alrythmen für usw. und der PC errechnet dann die Schritte.

So das war aber nur so Kram nebenbei :lol:

Mein eigentliches Problem ist folgendes:

Ich will mich nun langsam da rantatsten.
Nun habe ich mir eine Klasse geschrieben, die mir ganz einfach Würfel erstellt.
Das funktioniert auch alles ganz toll. Nur wenn man die Fenstergröße verändert, dann fehlen plötzlich ein paar seiten :(
Und ich habe leider echt überhaupt keine Ahnung woran es liegt :oops:

Und hoffe, dass ihr mir da vlt. helfen könnt.
Hier mal die Units, aber ich hänge alles nochmal als rar an :wink:

Hauptprogramm (dpr):

Edit : Bitte keine so großen Quellcodeblöcke posten. Das machts unübersichtlich, ist viel Arbeit für die Forensoftware und lesen tut das auch keiner. Programm dann bitte hochladen oder anhängen. - Sascha Willems

Ich hoffe echt ihr könnt mir da helfen.
Ich habe nämlich keine Ahnung woran es liegen könnte :?

P.S.
Ich weiß im Ordner sieht es kaotisch aus, aber das liegt daran, dass ich das fertige Projekt genommen habe....
Normal habe ich eine klar strukturierte Ordnerstruktur, welche klar zwischen Source und dem daraus resultirendem unterscheidet :D

Ach ich habe die DCU's und die EXE aus dem Archiv gelöscht, weil es ansonsten zu groß gewesen wäre.....

EDIT:
Oh mann das warn Kapf eben bis ich posten konnte-.-
bis ich endlich rausgefunden hatte, dass es daran lag, ass ich zu viel Text hatte :D


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 05, 2007 23:53 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Was für ein komischer Fehler...
Bei dir hat sich der Tiefentest nach einem Resize ausgeschaltet. Konnte man übrigens auch an den Quads sehen ;), wobei es aber recht schwer ist.
Ich kann aber aktuell leider nicht überprüfen ob es ein Fehler an deinem Code, SDL oder was auch immer ist.
Der Workaround steht aber oben.

Ein paar Anmerkungen:
Quads.pas:
76-80: Ersetzt Length(fQuads) -1 durch High(fQuads).
93: Die Schleife geht ein Element über das Array hinaus. Es fehlt ein -1 oder High.

Deine SDL.pas ist veraltet. Aktuell ist 1.2.11.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 06, 2007 07:30 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das ist ein Problem mit SDL. Durch den Aufruf von SDL_SetVideoMode wird unter Windows der OpenGL Kontext gelöscht und somit alle, Texturen, Listen und auch alle vorgenommenen Einstellungen. Somit ist der Tiefentest nach einem Aufruf von SDL_SetVideoMode wieder auf seinem Defaultwert. Also aus.

Um das zu beheben musst du in der Methode glHandleEvents (DPR) vor oder direkt nach (spielt eigentlich keine Rolle) dem Aufruf von glResizeWindow alle deine OpenGL Sachen neu initialisieren. Also Texturen neu laden etc etc etc. Oder du deaktivierst einfach die Größenveränderbarkeit.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 06, 2007 10:28 
Offline
DGL Member

Registriert: Do Jul 05, 2007 12:53
Beiträge: 2
hey vielen Dank für eure schnelle Hilfe :wink:

Die geschichte mit dem high ist auch eine für sich :lol:
Ich hatte rumexperimentiert und das dann vergessen gehabt rückgängig zu machen :oops:
Und nach dem ich meine OpenGL Sachen neu initalisiere geht auch das^^

Code:
  1. glResizeWindow( event.resize.w, event.resize.h );
  2.  
  3.           Init_OpenGL;


Also nochmals vielen Dank für eure schnelle Hilfe.

Ach die SDL.pas hatte von dem Template übernommen und auch die sdl.dll
Muss ich dann beide Dateien austauschen??
Weil ich dürfte die neuste sdl.pas haben, weil ich habe ja das neuste SDK drauf^^

Und zu guter letzt will ich mich auch noch entschuldigen, dass ich den Code direkt hier rein gepostet hatte....
Kommt nicht wieder vor. Ich dachte nur, dass man dann nicht den ganzen Kram rumterladen muss sondern einfach mal schnell durchscrolled :lol:
Aber bei dieser menge an Code war es eigentlich kalr, dass die Forensoftware streikt, zumal sie zuerst meinen Text die ganze Zeit nicht übernommen hatt :oops:


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]