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

Aktuelle Zeit: Fr Jul 18, 2025 16:46

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



Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Mai 03, 2006 17:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Hallo zusammen,

nach längerer Zeit arbeite ich wieder mit OpenGL und habe irgendwie das Gefühl, ich müsste wieder ganz von vorne anfangen... :?

Bis jetzt konnte ich zwar alle anstehenden Probleme lösen, aber jetzt bin ich an die Grenzen gestoßen...

Folgendes Problem:
Sobald ich TextureMapping aktiviere, ziehen plötzlich alle Objekte, die kein TextureMapping enthalten sollen, undefinierbare Schatten bei schneller Rotation hinter sich her. Das sieht a) nicht gut aus und ist b) nicht erwünscht. Wenn schon Schatten, dann bitte von mir selbst erstellte...;)

Was mache ich falsch?

Der Verdacht liegt nahe, dass ich mit völlig falschen Voraussetzungen arbeite.
Ich besitze eine Radeon 9500 pro (128 MB) und habe den Catalyst 5.5 als Treiber. Ich gehe davon aus, dass dies schon mal ein völlig veralteter und/oder der falsche Treiber ist. Als ich den 6.4 installiert hatte, haben sich plötzlich alle Memos und RichEdits in allen erdenkbaren Fenstern in den SlowMo-Modus versetzt. Deshalb habe ich wieder einen älteren Treiber drauf gemacht.
Der scheint aber auch nicht anstandslos zu funktionieren, weil zum Beispiel Sascha Willems Tutorial über Alpha-Masking mit einer AV (Adresse $00000000) jeglichen Dienst verweigert. Auf einem anderen Rechner jedoch (mit einer OnBoard-Geforce) funktioniert das Tutorial tadellos. Also gehe ich mal davon aus, dass ich hier mit völlig falschen Voraussetzungen arbeite.

Danke für eure Anregungen/Tipps.

Gruß


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 03, 2006 17:55 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
nicht unbedingt. Das Alphamasking-Tutorial von Sascha hat nen Bug mit dem Textur-Wrapping-Mode.
Die komischen Schatten könnten evtl. von dem TFT sein, das du vielleicht verwendest ;)
Und der Slow-Mode könnte vielleicht durch VSync verursacht werden.

Im Zweifelsfall Screenshots posten ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 03, 2006 18:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Hi,

Zitat:
Das Alphamasking-Tutorial von Sascha hat nen Bug mit dem Textur-Wrapping-Mode.


Müsste ich mir mal genauer anschauen. Aber wie gesagt: Auf ner OnBoard-GeForce zuckt das Teil ohne Probleme.

Zitat:
Die komischen Schatten könnten evtl. von dem TFT sein, das du vielleicht verwendest


Wäre eine sehr plausible Erklärung. Moni ist ein Samtron 93v - nicht gerade für Schnelligkeit berühmt, denke ich...;) Aber warum äußert sich das Problem dann nur bei aktiviertem TextureMapping?

Ich habe mal spaßhalber allen ATI-Krust deinstalliert und dann das Programm nochmal neu gestartet. OpenGL emuliert ja zum Glück alles in den CPU-Mode. Nun ja, ich hatte statt knapp über 1000 auf einmal nur noch sagenhafte 4(in Worten: Vier) fps, aber das Problem war nach wie vor das gleiche. Das spricht für die Theorie mit dem TFT...am Treiber kann's ja dann wohl kaum noch liegen.

Ich habe jetzt übrigens doch wieder 6.4 drauf. Auf einmal funktioniert alles tadellos... :roll: Nun ja...ähm....hüstel....fast alles...dieser dämliche Control Center lässt sich nämlich nicht mehr starten (.NET 2 ist drauf).
Aber das Problem mit den SlowMotion-RichEdits und Memos ist verschwunden...

Danke für die Tipps.

Gruß

PS: VSync on/off macht keinen Unterschied...ich würde ja gern nochmal togglen, aber wie gesagt: dieser dämlich Control Center verweigert gerade seinen Dienst, und für ne selbstgeschriebene Lösung habe ich im Moment weder Zeit noch große Lust....;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 08:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also zu deinem Grafikproblem. Poste bitte mal ein Bild. Unter dem Begriff "Schatten" kann sich niemand das Richtige vorstellen.

Die AccessViolation bei Saschas Demo dürfte daher kommen, dass irgendeine Extension benutzt wird die nicht unterstützt wird sie aber stillschweigend vorrausgesetzt wird.

Das einige OpenGL Programm so langsam sind, wenn du den ganzen ATI Krams entfernt hast ist vollkommen normal. Du hast ja dann keine Hardwareunterstützung für OpenGL mehr. Damit kann es nur langsam sein, da alles per CPU berechnet werden muss.

Die Richedits und Memo haben nichts mit dem V-Sync zu tun. Ich besetzt selber eine 9600er und kenne dieses Phänomen auch. Sobald ein neuer Treiber installiert wurde läuft ATI in einer Art Debugmodus in dem so gut wie nichts beschleunigt wird. Zu erst muss der Treiber die Karte testen und wenn das erfolgreich war wechselt er automatisch. Manuelles wechseln ist nicht möglich. Normal dauert es ca 10 Sekunden bis er es geschafft hat und aus diesem Testmodus raus ist. Danach sollte alles wieder funktionieren. Was du überprüfen solltest ist die AGP-Einstellung und die Fast Write Einstellung. Beides Optionen irgendwo in den Einstellungen. Weiß gerade nicht genau wo. Aber AGP sollte 4x o. 8x betragen und Fast Write sollte gesetzt sein. Das findet der Treiber normal selber herraus. Wenn die neuinstallation dabei keine Punkte bringt sieht es fast so aus als ob dein Windows ein wenig verrückt spielt. Das Control Center kann man auch getrennt vom Treiber installieren. Das dürfte das ein oder andere ein bisschen einfacher machen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 08:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Lossy eX hat geschrieben:
Also zu deinem Grafikproblem. Poste bitte mal ein Bild. Unter dem Begriff "Schatten" kann sich niemand das Richtige vorstellen.

Tja, das ist nicht so einfach. Wie gesagt, es tritt nur bei schnellen Rotationen (bis jetzt mit der Maus, Programm soll später mit "Ego-Shooter"-Steuerung laufen (also "W", "S", "A" und "D" plus Maus) auf. Aber ich schau mal, dass ich es schaffe, den Bug einzufangen. Es wird generell alles richtig gezeichnet, nur eben "hascht" dieser Schatten über's Bild.

Zitat:
Die AccessViolation bei Saschas Demo dürfte daher kommen, dass irgendeine Extension benutzt wird die nicht unterstützt wird sie aber stillschweigend vorrausgesetzt wird.


Was ich in diesem Tut gesehen habe, war AFAIR alles auf 1.0-Basis. Von Extensions habe ich nix gesehen.

Zitat:
Das einige OpenGL Programm so langsam sind, wenn du den ganzen ATI Krams entfernt hast ist vollkommen normal. Du hast ja dann keine Hardwareunterstützung für OpenGL mehr. Damit kann es nur langsam sein, da alles per CPU berechnet werden muss.

Jepp, ist mir völlig klar. Aber wie gesagt: im "Software"-Modus existiert das Problem genauso. Deswegen tendiere ich auch dazu, es auf den Moni zu schieben. Wenn sich der Bug jedenfalls nicht "fotografieren" lässt (per Hardcopy), dann kann es ja wohl nur noch am TFT liegen. Wenn das nicht gehen sollte, dann mach ich mal ein Bild mit der Digicam.


Zitat:
Die Richedits und Memo haben nichts mit dem V-Sync zu tun. Ich besetzt selber eine 9600er und kenne dieses Phänomen auch. Sobald ein neuer Treiber installiert wurde läuft ATI in einer Art Debugmodus in dem so gut wie nichts beschleunigt wird. Zu erst muss der Treiber die Karte testen und wenn das erfolgreich war wechselt er automatisch. Manuelles wechseln ist nicht möglich. Normal dauert es ca 10 Sekunden bis er es geschafft hat und aus diesem Testmodus raus ist. Danach sollte alles wieder funktionieren.


Aha. Danke für die Info. Wusste ich bis jetzt noch nicht...;)

Zitat:
Das Control Center kann man auch getrennt vom Treiber installieren. Das dürfte das ein oder andere ein bisschen einfacher machen.

Super. Schau ich gleich mal danach.

Danke nochmal und Gruß


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 08:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also den Aufwand mit der Digicam musste jetzt nicht treiben. Wenn das nur bei schnellen Bewegungen der Fall ist, dann tendiere ich auch dazu, dass es am Monitor liegt. Nen anderen kannst du rein zufällig nicht so ohne großen Aufwand mal anklemmen, oder? Also wenn rein zufällig einer daneben steht. ;-)

Das mit er AV. Muss passen kenne den Code nicht. Aber eigentlich sollte Alphamaskung da keine wirklichen Probleme machen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 16:40 
Offline
DGL Member

Registriert: So Feb 19, 2006 23:46
Beiträge: 55
Kann es sein dass du Doublebuffering nicht aktiviert hast? Wenn du zuerst den Bildschirm schwarz löschst und dann gezeichnet wird, könnte das aussehen wie ein "vorbeihaschender" Schatten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 18:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Doch klar, am Schluss steht ein SwapBuffers().

Ich sag ja: Das Problem tritt nur dann auf, wenn TextureMapping aktiv ist. Ansonsten keine Schatten.

Gruß


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 18:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Okay, ich bin mir jetzt 100%ig sicher: es liegt am Moni.

Der "Bug" lässt sich nämlich nicht mit ner Hardcopy einfangen.

Unten ein Bild von der Digicam, da sieht man es deutlich: dieser rote Schatten, den meine ich. Bei ner Hardcopy nix davon zu sehen....

Ich hoffe, der Blitz nervt nicht zu sehr. Aber ohne wäre die Verschlusszeit der Blende so lang gewesen, dass man nur noch Farbbrei gesehen hätte...;)


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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 19:02 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
hm? wieso ist das so gebogen? Und die Schatten sehen mir zu scharf aus. Sicher, dass das ein Flachbildschirm ist? *g*

Aber die Vermutung, dass DoubleBuffering nicht aktiv ist, kann durchaus sein. Denn das wäre auch nicht mit nem Screenshot greifbar und würde so aussehen. Das SwapBuffers heißt ja nicht, dass da doppelt geswappt wird. Obwohl... Wo ich diese Zeilen schreibe, wahrscheinlich heißt es das doch ^^ Aber der Verdacht liegt trotzdem nahe, dass es DoubeBuffering ist. Bzw dass es das eben nicht ist. Ich hoffe, du verstehst was ich meine ;)

Wenn das wirklich ein TFT, ein FLACHBildschirm ist, dann könnten die Schatten durch die Schlierenbildung herrühren, die alte schlechte TFTs haben (Stichwort: Reaktionszeit). Aber dann frag ich mich, warum ist auf dem Photo alles so krumm im Bild? Was denn das für ein Flachbildschirm? Bin sowas nur von einer Bildröhre gewohnt. Und da du ja augenscheinlich kein VSync aktiv hast, sieht man auch schön den Zeilen-Bildaufbau eines Röhrenmonitors. TFTs machen sowas zwar afaik auch (sieht jedenfalls manchmal so aus auf meinem hier *g*) aber trotzdem hab ich den Verdacht, dass das kein TFT ist.

Im Prinzip können auch Röhrenmonitore Schlieren bilden... Aber das muss dann wirklich ein uraltes Teil sein. So 10 Jahre alt mit uralt-Phosphor. Und da es eine farb-röhre ist, ist nicht davon auszugehen ;)

btw was ist eine Onboard-GeForce? Kenne GeForce-Karten nur als Stand-Alone Karten.

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 19:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Sorry, aber jetzt muss ich doch schmunzeln...;)

Ja, es ist ein TFT...aber überleg mal, warum das Bild so gebogen ist... Da müsste ein OpenGLer eigentlich mit Leichtigkeit drauf kommen...;)
Stichworte: Viewing Transformation und Modeling Transformation.

DoubleBuffering nicht aktiv? Ähm...kann man das Doublebuffering denn abschalten? Wusste ich gar nicht...wie denn? Oder meint ihr, dass das Delphi-Form DoubleBuffered = True sein muss?

Und GeForce-Karten gibt es inzwischen auch Onboard - zumindest behaupten das meine Techniker im Betrieb. Vielleicht sind es aber auch nur Nachbauten, keine Ahnung...in meinem (Arbeits-)Rechner soll zumindest so eine stecken.

Die Reaktion des Samtron 93v wird von Samsung im Datenblatt übrigens mit 25ms angegeben. IMO ist das nicht gerade langsam, oder?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 19:31 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
also 25 ms ist nicht das schnellste ;). Es gibt TFTs mit 16 ms Reaktionszeit ;)
Weiß grad nicht, wieviel mein Notebook-TFT hat, aber so viel werden das nicht sein. Die Schlieren halten sich da arg in Grenzen ;)

Und zu dem Transformations-Ding sag ich mal nix ;)
Oder wie erklärst du mir, warum das Fenster selbst gebogen ist? Auch perspektivische Verzerrung biegt keine geraden Linien.

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 19:56 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 10:50
Beiträge: 42
Wohnort: [Auch diese Steine können Sie klauen...]
Frase hat geschrieben:
Und zu dem Transformations-Ding sag ich mal nix ;)
Oder wie erklärst du mir, warum das Fenster selbst gebogen ist? Auch perspektivische Verzerrung biegt keine geraden Linien.


Neee....falscher Pfad...es ist nicht die perspektivische Verzerrung...;)

Model = der TFT = schon gerade und nicht gebogen...
Viewer = die Digicam = auch schön gerade und nicht gebogen...naja....bis auf die Linse / das Objektiv....na, dämmert's? ;)

Gruß

PS: Wie schaltet man denn jetzt das Doublebuffering an/aus?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 04, 2006 21:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Habe auch schon nen TFT mit 8ms angeworben gesehen.

Beim Abfragen des Pixelformates gibst es ein Flag namens PFD_DOUBLEBUFFER. Wenn du das weglässt, dann ist es normal nicht doppelt gepuffert. Wobei der Treiber sich da immer noch anders entscheiden kann.

Edit: Ach ja. Ich denke auch es liegt am TFT.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 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.009s | 15 Queries | GZIP : On ]