Leider funktioniert bei mir auch der Fullscreenmodus nicht, und ein Fenster mit 640x480 Pixeln ist schon recht klein
It's not a bug - it's a feature - liegt daran, dass ich noch kein Fullscreen-Mode eingebaut habe - ist zwar vom Code her alles schnell möglich, jedoch habe ich mich bisher nicht darum gekümmert. Aber du kannst das Fenster ja maximieren bzw. trotzdem eine Auflösung auswählen
Compiz hat da auch ein Feature! Kurz erklärt: Compiz rendert alle Fenster in Texturen für diverse 3D Transformationen (Wackelpudding-Effekt, Drehen, Wunderlampe, ...). Mit einer speziellen Einstellung werden aber Vollbildfenster unter Umgehung von Compiz direkt gezeichnet. Deshalb warte ich auch ganz sehnsüchtig auf das Vollbildhäkchen ^^.
Btw. Forward Renderer macht 150 FPS ohne die beiden neuen Lichtquellen, geht aber auf 30 runter wenn sie an sind. Deferred Renderer steigt bei 130 FPS ein, fällt dann aber nur bis auf 70 FPS ab. (PS: noch kein Field of Depth)
Ich hab' jetzt, da ich meine Grafikarte wieder hab', nochmal deine Demo getestet. Kann sein das die Fehler schonmal jemand genannt hat, hab' die vorhergehenden Post jetzt nur nochmal überflogen.
Beim Forward Renderer ist ein Fehler bei den Schatten vom Bürolicht. Da sind unbeleuchtete Bereiche an den Rändern der Shadowmaps, siehe Bild2. Und beim Deferred Renderer gibt es ein paar Probleme bei den Geländern, die aussehen wie verunglücktes Anti-Aliasing. Hab' mal den Teil in Bild1 dazu vergrößert.
Registriert: Mi Mär 09, 2005 15:54 Beiträge: 372 Wohnort: München
Programmiersprache: Delphi, C#, FPC
mrtrain hat geschrieben:
Also ich weiß jetzt, was dabei das Problem war. Ich hatte die Erweiterungsbeschränkung global auf Aus gestellt. Für Gael hatte ich auch kein eigenes Profil im Treiber-Setup definiert. Der Haken an der Sache ist folgender: Für ein anderes Spiel hatte ich die Erweiterungsbeschränkung aktiviert (warum auch immer, eigentlich braucht es das gar nicht) - und die Datei dazu hieß auch Game.exe! Der Nvidia-Treiber ist mit anderen Worten zu dumm, "Pfad1\Game.exe" von "Pfad2\Game.exe" zu unterscheiden. Naja, wieder eingeschaltet und es gibt tatsächlich keine Meldung mehr.
Notiz an mich selber: der exe einen sinnvolleren Namen geben
NerdIII hat geschrieben:
Compiz hat da auch ein Feature! Kurz erklärt: Compiz rendert alle Fenster in Texturen für diverse 3D Transformationen (Wackelpudding-Effekt, Drehen, Wunderlampe, ...). Mit einer speziellen Einstellung werden aber Vollbildfenster unter Umgehung von Compiz direkt gezeichnet. Deshalb warte ich auch ganz sehnsüchtig auf das Vollbildhäkchen ^^.
Ich hätte in diesem Release ja gerne das Häckchen aktiviert - jedoch gibt es bei Windows 7 noch ein Problem beim Wechsel der Bildschirmauflösung - und zwar bekommt man dann nen schönen BlueScreen - daher muss ich das erst ändern, so kann ich das nicht rausgeben. Jedoch wird die CheckBox so ausgewertet, dass beim FullScreen-Mode das Fenster keinen Rahmen hat also Pseudo-Fullscreen
NerdIII hat geschrieben:
Btw. Forward Renderer macht 150 FPS ohne die beiden neuen Lichtquellen, geht aber auf 30 runter wenn sie an sind. Deferred Renderer steigt bei 130 FPS ein, fällt dann aber nur bis auf 70 FPS ab. (PS: noch kein Field of Depth)
Das sind doch schonmal ordentliche FPS-Zahlen - da kann selbst mein Laptop nicht mithalten
Schläfer hat geschrieben:
Ich hab' jetzt, da ich meine Grafikarte wieder hab', nochmal deine Demo getestet. Kann sein das die Fehler schonmal jemand genannt hat, hab' die vorhergehenden Post jetzt nur nochmal überflogen.
Beim Forward Renderer ist ein Fehler bei den Schatten vom Bürolicht. Da sind unbeleuchtete Bereiche an den Rändern der Shadowmaps, siehe Bild2.
Jep, ist bekannt und das Problem kenne ich auch - ich kann es leider nur manchmal reproduzieren *gruebel* - aber wie gesagt, das Problem kenne ich und ich werde es bei Gelegenheit natürlich suchen und fixen.
Schläfer hat geschrieben:
Und beim Deferred Renderer gibt es ein paar Probleme bei den Geländern, die aussehen wie verunglücktes Anti-Aliasing. Hab' mal den Teil in Bild1 dazu vergrößert.
Antialiasing ist noch nicht wirklich eingebaut, beim Deferred Renderer funktionieren noch nicht alle Effekte so wie beim Forward-Renderer.
@All: ich habe mal versucht die bisherigen Probleme zu lösen - und zwar der GeForce-Bug mit den schwarzen Streifen sowie die rote Umrandung bei manchen ATI-Grafikkarten.
Ich kann für nichts garantieren, da ich die Fehler bei mir nicht reproduzieren kann und somit nur raten kann. Zum Schwarze-Streifen-Problem: Bisher habe ich bei der Tiefentextur im Deferred Renderer den Typ GL_DEPTH_COMPONENT angegeben. Jedoch kann es sein, dass dies Probleme macht. Daher habe ich ihn per Default auf GL_DEPTH_COMPONENT32 geändert. Jedoch kann dem Tiefenpuffer auch ein anderes Format zugewiesen werden. Um das zu machen, öffnet man die Datei "games\Test01\data\maps\deferredIndustry\Renderer_Deferred.xml". Dort sucht man die Zeile "<GBuffer Content="DepthComponent32" />" Nun kann man unter Content folgende (hoffentlich selbst erklärende) Werte einsetzen:
DepthComponent
DepthComponent16
DepthComponent24
DepthComponent32
Ich hoffe, das hilft.
Zum Rote-Ränder-Problem Ich habe mir den Lighting-Shader nochmal genau angeschaut und habe versucht, dass wirklich alle Werte immer korrekt sind. Ich habe die neue Version auch mit integriert und ich hoffe, dass die roten Linien dadurch verschwinden *hoff*
Der Download der neuen Version ist der selbe wie bisher.
Kannst du bitte mal den Wert "Name" einfach vertauschen - also beim ersten Name="shader:light:spot:shadow:texture" und beim Zweiten Name="shader:light:spot:shadow"
Dann wird die Spot-Textur nicht gezeichnet - wäre interessant ob dann immer noch die roten Linien zu sehen sind.
Registriert: Mi Mär 09, 2005 15:54 Beiträge: 372 Wohnort: München
Programmiersprache: Delphi, C#, FPC
igel457 hat geschrieben:
Nein, in der Tat sind die roten Linien nun nicht mehr zu sehen!
Ich hoffe das hilft dir ein wenig, Andreas
Das hilft schon enorm - ich denke ich weiß jetzt wo der Fehler liegt: ich denke es liegt an der Spot-Textur. Es wäre super, wenn du folgendes mal ausprobieren könntest - sorry das ich da so nerve
Ich habe mal eben eine sehr einfache Spot-Textur erstellt und sie in den Anhang gesetzt - einmal als PNG und einmal als tga. Die beiden Texturen musst du in den Ordner "games\Test01\data\" extrahieren. Danach musst du wieder mal eine xml-Datei ändern, um die Texturen zu verwenden - und zwar die Datei "games\Test01\data\maps\deferredIndustry\Materials.xml". Dort gibt es zwei Einträge die du ändern musst. In der Datei gibt es folgende Einträge (weit oben):
Bei beiden Einträgen änderst du die Eigenschaft "URL" auf folgenden Wert:
Code:
"file:///data/SpotLight.png"
Jetzt wird die PNG-Datei als Spottextur für die Taschenlampe und für alle Spot-Lights verwendet. Sollte das Problem mit den roten Linien dann immer noch vorhanden sein, wäre es super, wenn du auch die tga-Datei mal ausprobieren könntest (einfach SpotLight.tga als Dateinamen angeben). Sollte das dann immer noch nicht funktionieren, hab ich im Moment keine Ahnung woran das liegt
Registriert: Do Jun 28, 2007 17:58 Beiträge: 193
Programmiersprache: Pascal, C
Leider funktioniert es mit den neuen Dateien nicht. Um sicher zu gehen, habe ich sogar noch überprüft, ob auch wirklich die neuen Dateien geladen werden (habe ein dickes Kreuz hineingemalt, welches dann auch sichtbar war), was der Fall war.
SChade, die Techdemo hat nicht funktioniert oder ich hab nicht lange genug gewartet. Jedenfalls hat er Anfangs gemeckert das ich keine npo2 Texturen Unterstützung habe. Wird die wirklich benötigt für die Demo?
SChade, die Techdemo hat nicht funktioniert oder ich hab nicht lange genug gewartet. Jedenfalls hat er Anfangs gemeckert das ich keine npo2 Texturen Unterstützung habe. Wird die wirklich benötigt für die Demo?
Rechteckige Texturen sind die optimalen Puffer für ebenso rechteckige Bildschirminhalte. Sie brauchen weniger Speicher bzw. passen genau und verwenden keine Mipmaps. Moderne Grafiktricks wie der deferred renderer sind quasi darauf angewiesen. Aber erzähl doch mal auf was für einer Hardware du arbeitest. Weil, wenn die so innerhalb der letzten fünf Jahre hergestellt wurde ist vielleicht auch nur eine Erweiterungsbeschränkung aktiv o.ä.
Registriert: Sa Aug 18, 2007 18:47 Beiträge: 694 Wohnort: Köln
Programmiersprache: Java
Einfach nur "NICE"...
über die o.g. Fehlerchen berichte ich jetzt nicht mehr. Der Deffered-Renderer läuft einwandfrei. Der Forward-Renderer macht auch bei mir die o.g. Mätzchen.
ein paar Stats: GraKa: 8800GTS512
Direkt nach dem Laden. Blickrichtung und Position auf Standard. Einstellungen auf Standard. 640x480. Deffered-Renderer: Ohne Lichter macht er knapp 530 FPS. Mit allen Lichtern noch 210.
Im Dropdown-Feld für die Auflösung ist eine falsche Auflösung angegeben. Unter 16:9 : 1365x768. Sollte wohl 1360x768 sein.
Optimierung: Um die Polygonzahl pro Frame zu reduzieren könntest du kleine Texturen verwenden. Das Objekt (z.B. Ölfass im Regal) alle n Frames in eine Textur rendern. In den Frames dazwischen wird dann nur die Textur auf ein Billboard gerendert. Das bringt natürlich nur etwas bei Objekten, die sich nicht viel/schnell bewegen und einen gewissen abstand zum Betrachter haben. Und ich weiss auch nicht ob das nicht evtl mit der Schattenberechnung kollidiert.
Level: Also einen Mapper hast du schon sicher
Fazit: Mach weiter soooooooooooooooooo!
_________________ Es werde Licht. glEnable(GL_LIGHTING); Und es ward Licht.
Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Als wenn eine Po2T nicht rechteckig wäre? @Hardware: Antiquiert....Radeon 9600XT.
Eigentlich kann diese Grafikkarte mit >nicht-quadratischen< Texturen umgehen. Eventuell verwendest du alte Treiber bzw. die Treiber die bei der Grafikkarte mitgeliefert wurden? In denen könnte die Erweiterung noch anders (sprich ATI-spezifisch) aktiviert worden sein. Alles weitere muss wohl dave abklären, der weiß wo der Fehler geworfen wird. Könnte sein, dass die angeforderte Textur größer als 2048x2048 ist oder der Videospeicher insgesamt voll ist...
EDIT: Hmm, non-power-of-two ist ja nochmal was anderes wie texture-rectangle. Hier steht, dass die ATi-Karten deiner Generation NPO2T nicht vollständig unterstützen. Wenn's damit zu tun hat hilft vielleicht ein glEnable(GL_TEXTURE_RECTANGLE_ARB); ?
Zuletzt geändert von NerdIII am Mi Nov 25, 2009 14:20, insgesamt 1-mal geändert.
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.