Ich habe um mal etwas mit der Technik zu machen mir soeben ein kleines Progie gebastelt, welches einen Spiegel-Effekt mit dem Stencil-Puffer erziehlt. Das Ding: irgendwie ist das aber Arg langsam... besonders im Vollbild, dabei unterstützt die TNT2 den Stencil-Test doch schon ... könnt ihr mal in den Source gucken, ob ich was falsch mache? weiß nicht woran das liegen könnte.....
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Arg langsam ists auf meiner R9700 nicht, weshalb ich hier nur Vermutungen anstellen kann : NVidia hat z.B. der TNT nur einen 24-bittigen Tiefenpuffer verpasst, damit man unter Zuschaltung eines 8-bittigen Stencilpuffers beide Puffer in ein DWORD packen kann.Du verwendest aber nen 16-bittigen Tiefenpuffer, und weichst so von der optimalen Form ab.
Deshalb rate ich dir mal 24-Bit Tiefenpuffer+8-Bit Stencilpuffer zu verwenden, womit deine TNT weitaus besser zurechtkommen sollte.
Hmm, hat nicht wirklich eine Veränderung gebracht...
Habe ebn nochmal ne App geschriben, welche ebenfalls den Stencil-test verwendet...
Das interessante ist:
Dieses geruckel kommt nur dann, wenn der "Stencil-Effekt" ins Bild kommt... vorher interessiert es gar nicht: das ganze läuft genau so flüssig, wie normal, aber in dem Moment, wo etwas von meiner "Maske" ins "Bild" kommt (ist ja net sichtbar) wirds bedeutend lagsamer... und das wird umso schlimmer, umso höher dei Auflösung ist... Fast als wenn der ganze Frame 3 oder 4x auf den Screen gezeichnet würde... kann ich nicht nachvollziehen......
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Mir ist mal aufgefallen, dass nVidia den Hardware-Stencil-Buffer nur im 32-Bit Modus der Grafikkarte unterstützt. Hab' mir jetzt Dein Prog nicht angesehen, aber evtl. bringt Dir diese Info was.
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Hmm ... also ich habe nun mal sowohl die Desktop-Farbtiefe, als auch die meines Programmes (und der Treiber-Grundeinstellung für OpenGl) auf 32 Bit gesetzt.... leider ohne große Wirkung... hmm .. also entweder scheint dies ein Manko dieser Karten zu sein, oder ich mache was falsch ... ich schreibe mal das Progie zuende und häng es hier an den Beitrag ran, damit ihr euch das ansehen könnt.......
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Registriert: Di Jul 01, 2003 18:59 Beiträge: 887 Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
ich habe ihre progam getestet mit einer p2 auf 400mhz mit einer TNT grafikkarte. Das laufte gut nach meiner meinung. Ich habe es aber nicht in vollbild getestet. Ich versuch das morgenabend. Welcher treiber von nvidia brauchst du? Laufen andere opengl programme mit stencil buffer genau so wie ihre?
Hmm .... also im kleinen Fenster läuft das ganze bei mir auch noch gut, bloß wenn ich maximiere sack das ganze auf < 4 Frames pro Sekunde ab, und das bei einem so einfachen Programm... habe auch noch n anderes geschrieben, wo ich einen Raum painte, welcher durch eine Wand getrennt wird, die ein durch den Stencil-Puffer realisiertes Loch haben soll ... ich gebe zwar zu, dass Progie ist nicht wirklich optimiert, aber nur 2 Fps (hier schon ab einem 640x480 - Fenster) sind mir arg zu wenig ....
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Arg ... ich habe den Übeltäter gefunden: Es war doch die Farbtiefe *g*
Hatte erst gedavht, ich müsste nur die Open Gl- Einstellungen und die Settings in meinem progie ändern ... dem war aber nicht so .... musste meine Desktop-Farbtiefe auch auf 32 Bit stellen, damit es läuft (habe dies anhand von SoS Spiegel-Sample getestet .... bei 16-Bit farbtiefe hatte ich mit Stencil-Puffer 1 und ohne 30 Fps ... bei 32 Bit Farbtiefe habe ich jeweils ca 24-25.....)
Aber eine Frage: gibt es keine Möglichkeit 16 Bit Farbtiefe und den Stencil-Puffer zu kombinieren, um etwas Rechen-Power zu sparen?
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
DCW_Mr_T hat geschrieben:
Aber eine Frage: gibt es keine Möglichkeit 16 Bit Farbtiefe und den Stencil-Puffer zu kombinieren, um etwas Rechen-Power zu sparen?
Nein.Zumindest NVidia-Hardware stellt dir AFAIK nur dann nen HW-Stencil zur Verfügung, wenn du dich im 32-Bit Farbmodus befindest.Alles andere (24/16-Bit) wird dann per Software gemacht.Das hat wohl alles was mit der Registeroptimierung zu tun, weshalb man auch 24 Bit für Z + 8 Bit für Stencil nimmt, damit man beide in einem DWord übertragen kann.Evtl. ists aber vielleicht möglich, bei 16 Bit Farbtiefe nen 24 Bit Z+8 Bit Stencil zu bekommen, das musst du mal probieren.
P.S. : So gut wie alle Grafikkarten ab der GeForce DDR (Die SDR hatte da noch Bandbreitenprobs) sind in 32 Bit meist schneller als in 16 Bit.
Mitglieder in diesem Forum: Google [Bot] und 13 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.