Jammer-Thread
Re: Jammer-Thread
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...
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...
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
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:
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: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.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Jammer-Thread
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.
Und das .NET Framework 2.0 ist anscheinend nicht mehr vorinstalliert.
Re: Jammer-Thread
Helmut hat geschrieben:thumbs.db
It's 2001 all over again!
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
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.Qt Doku hat geschrieben: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.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); } }
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
Re: Jammer-Thread
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.
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/
https://jonathank.de/games/
Re: Jammer-Thread
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
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Ich sitze schon zwei Tage daran, eine Sprite via Direct3D 9 1:1 in einer 3D-Szene anzuzeigen.
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
Woran scheitert's da denn?
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
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.
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.
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
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
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
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.
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
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
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
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.
Du musst entweder die Vertexkoordinaten um 0.5 Pixel nach oben links oder die Texturkoordinaten um 0.5 Texel nach unten rechts offsetten.
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Jammer-Thread
Fehlermeldung:
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 :?
Fehlerursache:Visual Studio hat geschrieben: error C2275:Foo<__formal,Etype>' : illegal use of this type as an expression
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]
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]
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Jammer-Thread
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... :xThe 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.
"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]
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]
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Jammer-Thread
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!
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]
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]
Re: Jammer-Thread
Keine Ahnung warum du da x nochmal zuweist. Scheint mir recht sinnfrei zu sein.
Ohne Input kein Output.
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Jammer-Thread
Wieso ich? Das ist die Standard BSD-Implementation.
Würde ich das selber machen, dann müsste ich ja nicht drüber jammern ;)
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]
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]
Re: Jammer-Thread
Achso. Wer Macros nutzt ist selber Schuld würd ich fast sagen. :P
Ohne Input kein Output.
Re: Jammer-Thread
Warum ist meine Berechnung im Releasemodus (fast) richtig und im Debugmodus total falsch. WARUM???? ICH WILL NICHT MEHR!!!! WARUUUM????
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Uninitialisierte Variablen gehören auf jeden Fall zu den Favoriten.FredK hat geschrieben:Warum ist meine Berechnung im Releasemodus (fast) richtig und im Debugmodus total falsch. WARUM???? ICH WILL NICHT MEHR!!!! WARUUUM????
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Jammer-Thread
Hmm... sollten alle initialisiert sein.
Re: Jammer-Thread
sollte(n) ist ein Arschloch. Hat mir auch schon oft alles kaputt gemacht. ;)
Ohne Input kein Output.
Re: Jammer-Thread
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....
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Jammer-Thread
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?
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Jammer-Thread
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.
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.
Re: Jammer-Thread
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
Und Referenzen sind überflüssiger Müll!1
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Jammer-Thread
http://lwn.net/Articles/478657/ *scnr*Schrompf hat geschrieben:es ist praktisch ausgeschlossen, dass der Compiler was falsch macht.
Ist bei mir broken.eXile hat geschrieben:wieder
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Jammer-Thread
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.