Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
joggel

Re: Jammer-Thread

Beitrag von joggel »

Eine Hassrede ohne Gleichen :D ..
Also ich arbeite ja auch mit Qt, und muss auch sagen, dass es einige Sachen gibt die mir nicht gerade gefallen oder mit denen ich Probleme habe.
Aber is auf jeden Fall um einiges bessert als mit MFC rumzukrauchen...
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Das ist echt der Gipfel. setTabOrder() leitet nur zur Hälfte an Focus Proxies weiter (nach Doku behandelt es Focus Proxies voll transparent!), ganz offensichtlich schludig implementiert (und redundant! Focus Proxies werden echt ÜBERALL erneut von Hand von der gleichen zigfach kopierten for-Schleife aufgelöst). Widgets ohne Focus Policy (d.h. ALLE Composite Widgets) werden deshalb von setTabOrder() immer ignoriert. Schlussendlich gibt es überhaupt keine andere Möglichkeit, die Ordnung von Elementen vollständig zu verändern, als diese gleich in der richtigen Reihenfolge in das Composite Widget einzufügen. Dabei sind Composite Widgets ja ach so verbreitet:
When a widget is used as a container to group a number of child widgets, it is known as a composite widget. Many of the examples provided with Qt use this approach, and it is also covered in the Qt Tutorials.
Es hilft alles nichts, ich habe die Qt Designer XML Files per Texteditor in die richtige Reihenfolge gebracht, nun habe ich FAST was ich will (und die Hälfte des fraglichen Codes befasst sich schon mit dem Setup von Focus Proxies). Wenn sich jetzt noch die Buttons in den Composite Widgets entschließen könnten, ihren Focus nicht immer direkt an den ersten Butten des Parent-Widgets weiterzugeben. :evil:
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Helmut
Establishment
Beiträge: 237
Registriert: 11.07.2002, 15:49
Wohnort: Bonn
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Helmut »

Die neue Windows 8 Beta hat mir gerade eine thumbs.db Datei erstellt. In einem Ordner ohne Bilder.
Und das .NET Framework 2.0 ist anscheinend nicht mehr vorinstalliert.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Helmut hat geschrieben:thumbs.db
Bild

It's 2001 all over again!
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Qt Doku hat geschrieben:

Code: Alles auswählen

 bool MainWindow::eventFilter(QObject *obj, QEvent *event)
 {
     if (obj == textEdit) {
         if (event->type() == QEvent::KeyPress) {
             QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
             qDebug() << "Ate key press" << keyEvent->key();
             return true;
         } else {
             return false;
         }
     } else {
         // pass the event on to the parent class
         return QMainWindow::eventFilter(obj, event);
     }
 }
Notice in the example above that unhandled events are passed to the base class's eventFilter() function, since the base class might have reimplemented eventFilter() for its own internal purposes.
Notice in the example above that no unhandled textEdit events are ever passed to the base class's eventFilter() function, and thus never reach the base class's own implementation of eventFilter(), even if the base class is desperately waiting for such events for its own internal purposes.

Schon beim Lesen der Doku wird einem schlecht.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Jonathan
Establishment
Beiträge: 2389
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Es gibt Tage, da hat man echt keinen Bock mehr. Gestern Abend wollte ich lexical_cast benutzen und bekam alberne Fehlermeldungen in irgendwelchen Boost Headern. Es stellte sich heraus, dass es schon reichte, die lexical_cast.hpp zu inkludierne, um diese Fehler zu kriegen. Also hab ich so ziemlich jede Mögliche Include Riehenfolge durchgetestet, brachte alles nix. Dabei habe ich diese dumme Header schon millionenfach benutzt! Um zu demonstrieren, dass es sonst überall geht, hab ich nochmal ein anderes Projekt kompiliert, und BAM, da kam der gleiche Fehler. Nachdem ich dann alles von boost 1.47 auf 1.49 umgestellt habe (das ich erst installieren musste), ging dann alles wieder. Dabei haben ich nichts an der boost Installation gemacht.

Und weiter gehts: Assimp aktualisiert und kompiliert, schon kriege ich alberne Fehler in DirectX Headern. Also kurzerhand das SDK neu installiert (ist die aktuelle Version echt von Juni 2010???). Dann ging es wieder.

Aber kurz darauf bekomme ich Fehler in assimp_view.rc (error RC2104: undefined keyword or key name: S_SETFONT)
und diesmal weiß ich nicht, was ich neu installieren soll. Viellicht Windows?

Das alberne ist ja, ich habe absolut nichts gemacht, was all diese kaputten Sachen erklären würde. Ganz ganz toll.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
RazorX
Establishment
Beiträge: 156
Registriert: 23.12.2010, 14:13
Kontaktdaten:

Re: Jammer-Thread

Beitrag von RazorX »

Ich quäle mich gerade durch OpenGL Tutorials (bin ja ursprünglich DirectX gewohnt) und habe versucht VBOs zu implementieren. Nun hab ich sämtliche erdenkliche Möglichkeiten ausprobiert um endlich ein simples Dreieck auf den Bildschirm zu zaubern, da leider rein gar nichts gezeichnet wurde. Nach nun wohl gut vier Stunden fällt mir auf das ich durch Copy&Paste die Daten immer auf den selben Index im VBO geschrieben habe und somit ein Dreick in einem Punkt gezeichnet habe... ARRGGGHHH
Benutzeravatar
Krishty
Establishment
Beiträge: 8267
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich sitze schon zwei Tage daran, eine Sprite via Direct3D 9 1:1 in einer 3D-Szene anzuzeigen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Woran scheitert's da denn?
Benutzeravatar
Krishty
Establishment
Beiträge: 8267
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Die Vertex-Koordinaten auf die Pixel zu kriegen.

Ich hatte das Pech, dass mein Fenster zufällig immer eine gerade Anzahl Pixel breit und hoch war – darum habe ich völlig verpennt, dass der Koordinatenursprung mit wechselnder Auflösung hübsch zwischen den Pixeln hin- und hergleitet.

Und wenn das getan ist, darf ich rausfinden, warum meine Texturen selbst mit Point Filtering noch verschwimmen. Da muss noch viel mehr falsch sein.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Der Ursprung wird in D3D9 in der Pixelmitte rasterisiert. Eventuell entsprechendes halbes Pixeloffset vergessen?
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8267
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Das Vertex (0, 0) liegt in der Bildschirmmitte. Allerdings liegt es nicht automatisch in einer Pixelmitte – falls dein Bildschirm eine gerade Anzahl Pixel breit und hoch ist, liegt (0, 0) genau zwischen zwei Pixelmitten. Falls er eine ungerade Anzahl breit ist, genau in einem drin. Und danach kommt noch ein halber Pixel Versatz drauf; oder eben nicht. Und danach noch ein halber Texel auf die Texturkoordinaten. Und da vergeht mir schon wieder die Lust.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Der Punkt (-1, 1) liegt in einer Pixelmitte (linkester oberster Pixel des Viewports). Wenn du dich von da an in Pixelschritten bewegst, liegst du immer in der Pixelmitte. Danach ein halbes Pixeloffset von der Position abziehen, und die Texturkoordinate des rasterisierten Pixels entspricht gerade einer Texelmitte (bei 1:1). Wenn du irgendwo in der Mitte des Bildschirms anfängst, musst du natürlich relativ zu so einem Ankerpunkt runden.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

In D3D9 sind Texel und Pixel um 0.5 verschoben: http://msdn.microsoft.com/en-us/library ... 19690.aspx ;)
Du musst entweder die Vertexkoordinaten um 0.5 Pixel nach oben links oder die Texturkoordinaten um 0.5 Texel nach unten rechts offsetten.
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Fehlermeldung:
Visual Studio hat geschrieben: error C2275:Foo<__formal,Etype>' : illegal use of this type as an expression
Fehlerursache:
Auf eine static Membervariable der struct 'Foo' versehentlich mit "." statt mit "::" zugegriffen.

Was würde ich für ausnahmslos immer aussagekräftige Fehlermeldungen geben *seufz*

EDIT:
Und wo wir schon dabei sind:
Ich finde es auch immer ganz toll, dass bei Templates eine einzelne Fehlermeldung schnell mal mehrere DIN A4 Seiten lang werden kann :x

PS:
C++ Template-Metaprogrammierung hat echt eine Syntax, die Verückte macht :?
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

The Android emulator included in SDK is quite slow and unfortunately this is noticeable while debugging. You might experience several second delay during stepping. Delays longer than a couple of seconds should be rather uncommon.
Ach, so lange es nur ein paar Sekunden für den Sprung von einer Zeile zur nächsten sind mit core i7, 8GB RAM mit SSD, dann ist es ja halb so wild... :x
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

y = HTONS(x) bzw. y = HTONL(x) unter Windows: y = htons(x) bzw. y = htonl(x)
y = HTONS(x) bzw. y = HTONL(x) unter BSD-Derivaten wie z.B. Unixoiden: y = x = htons(x) bzw. y = x = htonl(x)

Wer hat sich eignetlich dieses unituitive Verhalten der BSD-Implementation ausgedacht? Ich will meine mit dem diesbzüglichen Debugging verschwendete Lebenszeit von ihm zurück verlangen!
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: Jammer-Thread

Beitrag von BeRsErKeR »

Keine Ahnung warum du da x nochmal zuweist. Scheint mir recht sinnfrei zu sein.
Ohne Input kein Output.
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Wieso ich? Das ist die Standard BSD-Implementation.
Würde ich das selber machen, dann müsste ich ja nicht drüber jammern ;)
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: Jammer-Thread

Beitrag von BeRsErKeR »

Achso. Wer Macros nutzt ist selber Schuld würd ich fast sagen. :P
Ohne Input kein Output.
FredK
Beiträge: 31
Registriert: 06.05.2004, 17:11

Re: Jammer-Thread

Beitrag von FredK »

Warum ist meine Berechnung im Releasemodus (fast) richtig und im Debugmodus total falsch. WARUM???? ICH WILL NICHT MEHR!!!! WARUUUM????
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

FredK hat geschrieben:Warum ist meine Berechnung im Releasemodus (fast) richtig und im Debugmodus total falsch. WARUM???? ICH WILL NICHT MEHR!!!! WARUUUM????
Uninitialisierte Variablen gehören auf jeden Fall zu den Favoriten.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
FredK
Beiträge: 31
Registriert: 06.05.2004, 17:11

Re: Jammer-Thread

Beitrag von FredK »

Hmm... sollten alle initialisiert sein.
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: Jammer-Thread

Beitrag von BeRsErKeR »

sollte(n) ist ein Arschloch. Hat mir auch schon oft alles kaputt gemacht. ;)
Ohne Input kein Output.
FredK
Beiträge: 31
Registriert: 06.05.2004, 17:11

Re: Jammer-Thread

Beitrag von FredK »

Hätte jetzt erwartet, dass sie im Debugmodus richitg wären und im Releasemodus eher falsch, weil da ggf. Defaultwerte wegoptimiert werden. Aber ist halt andersrum....
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Initialisieren nicht einige Compiler im Debugmodus absichtlich mit Müll, damit man es merkt und bei release kann man halt das Pech haben, dass vieles einfach auf 0 initialisiert wird und damit sich "fast gut" verhält?
Benutzeravatar
Schrompf
Moderator
Beiträge: 4878
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Korrekt. Vor allem bei bools gefährlich, weil die im Debug-Modus einen definierten Wert "true" haben, während sie im Release auch mal false sein können.

Du kannst auch Debug-Symbole im Release-Modus anmachen und dann mal durchsteppen, wo genau es scherbelt. Sei aber versichert: es ist praktisch ausgeschlossen, dass der Compiler was falsch macht. Mit höchster Wahrscheinlich ist Dein Code das Problem. Und damit hast Du also beste Chancen, den Fehler zu finden.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Hört! Hört! Ihr plebejisches Fußvolk, hört was euer Gott Mike Acton sich wieder aus den Fingern gesaugt hat!

Und Referenzen sind überflüssiger Müll!1
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Schrompf hat geschrieben:es ist praktisch ausgeschlossen, dass der Compiler was falsch macht.
http://lwn.net/Articles/478657/ *scnr*
eXile hat geschrieben:wieder
Ist bei mir broken.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4878
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Ich hab nicht gesagt, dass keine Compiler-Bugs existieren. Nur ist das Geschrei bei Debug vs. Release meist groß nach "Compiler-Fehler!!!11elf", aber in den allermeisten Fällen ist es nunmal nicht der Compiler. Mehr wollte ich nicht sagen. Ist doch auch ne gute Sache! Eigene Fehler finden sich viel leichter als Compiler-Bugs.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten