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

Aktuelle Zeit: Fr Jul 18, 2025 04:34

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



Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 16, 2008 09:52 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

ich hab dir mal ne Email geschickt.. da hab ich dummerweise die Exe vergessen: http://files.devmod.de/bin.zip

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 16, 2008 11:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also die Anwendung funktioniert hier auf dem Rechner nicht so recht. Die Grafikkarte ist aber auch nicht so besonders. Zu erst ist das Bild schwarz und beim ersten Klick sehe ich einen Punkt der vermutlich geblendet wurde und dann passiert nichts mehr. Kann das heute abend aber mal auf meinem Rechner ausprobieren.

Wenn ich deine Texturen benutze geht es bei mir aber. Versuch mal dein Gras, den Stein und die Alphatextur in deiner Renderschleife zu zeichnen. Also das nicht extra noch mal im FBO zu rendern. Bzw hast du beim Zeichnen (TGroundLayer.Render) noch blendig aktiv. Wenn es die Alphatextur bzw Reste davon in die zu zeichnende Textur geschafft haben, dann wird das mit der Farbe aus dem Framebuffer verrechnet. Obwohl das nicht nötig sollte. Und als letztes (bei ATTACHMENT1) wurde die Farbe auf Blau gesetzt.

Ich denke bei dem FBO würdest du auch nur die erste Textur wirklich benötigen. Wenn ich das richtig sehe wird das ATTACHMENT1 ja aktuell nicht benutzt und in dem ATTACHMENT2 befindet sich nur die zusammengepackte Textur. Was aber für die Karten kein Problem ist das direkt zu machen.

Was anderes. Bei der Texture testtex brauchst du keinen leeren Speicherbereich anzugeben. Um ohne Daten eine Textur zu initialisieren genügt es nil als Datenpointer zu übergeben.

Was ich noch vergessen hatte. Beim Erstellen der AlphaTextur erstellt die glBitmap automatisch immer MipMaps mit.
Code:
  1.   AlphaTex.FreeDataAfterGenTexture := False;
  2.   AlphaTex.MipMap := mmNone;  // Dann werden keine mehr erstellt
  3.   AlphaTex.SetFilter(GL_LINEAR, GL_LINEAR);



PS: Ich habe mit GL_texture_env_combine im übrigen noch etwas rumgespielt und es hinbekommen 3 Texturen auf einem Quad so zu kombinieren, dass die Alphatextur / oder RGB/Luminanz die Sichtbarkeit der beiden anderen Texturen steuert. Dann würde der Zwischenschritt des Texturen downloads und uploads entfallen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 16, 2008 13:03 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

ja, du hattest recht. Wenn ich das Blending in der normalen Renderschleife ausmache, ist alles ganz normal.

Wenn du so nett wärst, mir den Code von dem Test mit GL_texture_env_combine geben würdest, sofern es funktioniert, könnte ich es mir noch mehr vereinfachen (kein FBO, kein per Pixel Alpha berechnen). Dadurch könnte ich wieder ältere GPUs supporten.

Danke, dass du mal drübergeschaut hast!

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 16, 2008 18:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also ich war gerade eben etwas hingerissen und musste da mal was machen. :D In der FBO.zip (800 KB) ist das FBO von dir enthalten aber auf das absolut Nötigste geschrumpft. Und beim Zeichnen werden die 3 Texturen mittels Multitexturing und GL_texture_env_combine kombiniert.

Linke Maustaste wegzeichnen. Rechte wieder hinzeichnen.

PS: Für dein Projekt solltest du im Falles des unterstützens meiner Meinung aber FBOs trotzdem noch benutzen. Das erspart einen Zwischenschritt und ermöglicht mehr.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 16, 2008 19:08 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

das funktioniert bei dir? Bei mir kommt ein GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT Fehler. Anscheinend, weil das FBO keine GL_LUMINANCE Textur als Attachment akzeptiert. Sehr komisch. Welche Grafikkarte hast denn du? Ich hab ne 7800GTX256

Edit: Wenn ich ifLuminance in ifRGBA8 ändere, gehts, hat wohl den gleichen Effekt. Sieht nämlich EXTREMST geil aus!! Danke, richtig geil gemacht.

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 16, 2008 20:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich hab ne ATI HD 3850. Und Luminanz ist eine Graustufentextur ist vergleichbar mit RGB und fürs Handling das gleiche. Wenn ich erlich bin habe ich irgendwie befürchtet, dass es nicht gehen würde. Aber RGB ist auch okay. Werde das in dem zip noch anpassen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

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