Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
Also mal ein update,
dein projekt funktioniert auf nvidea einwandfrei, wobei nur ein drahtwürfel ohne flächen gezeichnet wird. auf ati ist das hintergrundbild irgendwie total verzerrt.
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,
das mit dem Würfel is normal, der soll bloß aus Strichen sein Un wegen der Textur, hast du mal ne andere versucht? Einfach die "tex.jpg" gegen eine beliebige andere ersetzen. Das sie verzerrt ist kann aber auch normal sein, da es ja ein Fensterfüllendes Quad ist. Wenn das Fenster dann nicht die passenden Maße hat wird sie eben verzerrt angezeigt. Oder meinst du mit verzerrt totalen murks? Haste evtl ma n Screenshot?
aber das würde ich nicht überbewerten, die Grafikkarte hat eh nen Schaden seit ich sie an die Wasserkühlung angeschlossen hab. obwohl sie meine eigenen texturen richtig darstellt *lach* Jedenfalls sieht dein Projekt auf meinem Laptop (auch irgendeine ATI) und in der Firmal (Nvidea) gut aus.
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
OK, dann lassen wir die Textur ma außer acht ^^ Hast du mal versucht meine gluDrawBackground-Methode (siehe glUtils-Unit) in deinem Projekt zu nutzen? Wenn die da auch richtig funzt haben wir das Problem ja behoben...
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
Nein, dazu bin ich leider noch nicht gekommen...
steht aber auf meinem Zettel fürs Wochenende mir das genauer anzuschauen.
Ich habe gestern mal die ersten Schritte gewagt mit der Textsuite von Lossy_Ex (sp) text in mein projekt zu bekommen.
das führt bei gradient Hintergrund jetzt auch wieder hier auf ATI zu einer Abdunklung, komischerweise nicht wenn man ein Hintergrundbild hat, dabei sind die beiden proceduren identisch aufgebaut.
und dann ist mir noch aufgefallen das der text auf meinem laptop (ATI) und PC (ATI) kleine rähmchen um jeden buchstaben hat, auf den rechnern in der firma (Nvidea) sieht er hingegen viel besser aus... (bis auf die nervtötende Tatsache das er blöde hintergrund - noch stärker abdunkelt).
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,
was den Hintergrund angeht hab ich grad keine Ahnung. Aber das mit den Kästchen um die Buchstaben is n Bug oder so (weiß ich nich mehr genau, dazu sollte sich lieber Lossy äußern^^). Auf jedenfall bekommst du die weg, indem du den Font folgendermaßen erstellst:
tsPostAddShadow4f(1,0,0,1,1,1,0);//<-- das beseitigt die Kästchen
€: was mir grad noch einfällt: manchmal hat man verfälschte Farbwerte, wenn man die Texturen aktiviert hat, aber keine Textur gebunden ist. Ruf mal vorm rendern des Hintergrunds noch glDisable(GL_TEXTURE2D) auf...
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
juhu das mit dem gldisable(gl_texture_2d) hat was gebracht, jetzt bleibt der hintergrund hier beim gradient richtig! DANKE!!!!! ich kann langsam keine abdunkelnden hintergründe mehr sehen!
kann das auch der grund sein wieso nvidea grundsätzlich abdunkelt??? wo muß ich dann die gltexture disablen?
das mit den rähmchen um den text hat sich nicht geändert... die zeile (mit minimal anderen werten) war eh schon im sample code von lossy. ändern in deine werte hat nix gebracht. aber das hat zur zeit sowieso prio b... da öffne ich dann zu gegebener zeit einen eigenen thread wenn ichs nicht irgendwo finde.
also ich pflaster mein projekt jetzt erstmal mit gldisable(gl_texture_2d) zu und hoffe das dann das abdunkeln auch auf nvidea ein ende hat....
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nicht ohne Sinn und verstand Befehle breitwerfen.
OpenGL ist eine State Machine. Wenn du einen Zustand an einer ganz bestimmten Stelle brauchst, dann setzt du ihn, und machst ihn danach wieder aus/setzt ihn zurück.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Rischtisch. das glDisable war nur um zu Testen ob es daran liegt. Jetz machst du das wieder raus und sucht dein kopletten Code nach Stellen ab die Texturen verwenden. Un änderst du die folgendermaßen ab:
Code:
glEnable(GL_TEXTURE_2D);//Texturen anschalten
glBindTexture(MyTex);//Textur binden
//mit der Textur arbeiten
glBindTexture(0);//Textur entbinden
glDisable(GL_TEXTURE_2D);//Texturen ausschalten
Oder du benutzt die glBitmap von Lossy, die macht das beim binden und entbinden der Texturen automatisch...
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
Sascha Willems hat geschrieben:
Du lädst mit Sicherheit irgendwo beim Programmstart Texturen. Wenn ja, dann wird dort glEnable(GL_TEXTURE_2D) aufgerufen.
hmm...
also ich habe im programm nur eine textur und die wird nicht zum programmstart sondern zur laufzeit (auf user wunsch) geladen, nämlich genau dann, wenn er ein hintergrund bild will.
fTexture.GenTexture;// geladene Textur an OpenGL übergeben
hintergrundart:=3;
Hintergrundbild1.checked:=true;
gradient1.checked:=false;
einfarbig1.Checked:=false;
end;
end;
aber wie gesagt, das wird erst zur Laufzeit aufgerufen wenn der User ein Hintergrundbild will... vermutlich hat aber das Text einladen den selben effekt... denn das mache ich zum programmstart über die Textsuite.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Da ist jetzt Lossy gefragt. Bzw. Die glBitmap.pas ist doch OpenSource. Guck doch mal in die Funktionen rein die du aufrufst.
Es ist auch gar nicht wichtig von glEnable steht. Es ist wichtig wo es stehen müsste. Du enablest die Texturen dort wo du sie brauchst, und schaltest sie danach wieder ab.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
so nachdem ich ne Weile wegen Erkältung und Zeitmangel nicht groß dazu gekommen bin, ist mir gestern scheinbar ein Teilerfolg geglückt.
Das umstellen meiner Gradient Procedur auf die Procedur von Bergmann hat zunächst keine Verbesserung gebracht, der Hintergrund hat nach wie vor abgedunkelt. Aus und wieder Einschalten von GL_Light0 und GL_Lighting um das Hintergrund-Quad mit dem Farbverlauf sorgen hier nun scheinbar dafür das der Hintergrund endlich hell bleibt.
Ob es das wirklich war, kann ich erst abschliessend sagen, wenn ich die Procedur für ein Hintergrundbild ebenfalls analog abgeändert habe. Also morgen.
hier mal die procedur von bergmann - leicht von mir modifiziert:
Mitglieder in diesem Forum: 0 Mitglieder und 5 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.