Die Suche ergab 801 Treffer

von Artificial Mind
16.04.2013, 13:26
Forum: Grafikprogrammierung
Thema: Kamerafrustumplanes berechnen
Antworten: 30
Zugriffe: 5617

Re: Kamerafrustumplanes berechnen

Bringen wir mal ein wenig Ordnung in die Sache. Wofür genau das Transponieren? Betrachtest du Vektoren als Zeilen oder als Spalten? Wegen der Plane Extraction schau mal hier: http://www.cs.otago.ac.nz/postgrads/alexis/planeExtraction.pdf , Handedness sollte da imo keine Rolle spielen. Wenn du nur d...
von Artificial Mind
15.04.2013, 16:46
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Fehler beim Rendern meine Sprites
Antworten: 42
Zugriffe: 6169

Re: Fehler beim Rendern meine Sprites

Die Nehe-Tutorials sind super alt! Für modernes Opengl würde ich http://www.opengl-tutorial.org/ empfehlen.
von Artificial Mind
14.04.2013, 13:47
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Fehler beim Rendern meine Sprites
Antworten: 42
Zugriffe: 6169

Re: Fehler beim Rendern meine Sprites

Alternativ kann numframes == 0 sein und es knallt ;)
von Artificial Mind
14.04.2013, 13:44
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Fehler beim Rendern meine Sprites
Antworten: 42
Zugriffe: 6169

Re: Fehler beim Rendern meine Sprites

Ja der Fehler ist mir gestern noch aufgefallen aber danke. Ähm ja der Absturz besteht leider immernoch und ich benutze Code::Blocks unter Windows 8. Den Debugger habe ich schon oft gestartet aber die Zeile die angezeigt wird ist diese int row = numof_rows/(numframes/cur_frame); glaube ich zumindest...
von Artificial Mind
14.04.2013, 00:17
Forum: Vorstellungsbereich
Thema: [Projekt] No Mercy For Flying Saucers
Antworten: 10
Zugriffe: 1486

Re: [Projekt] No Mercy For Flying Saucers

Sorry ich arbeite nur mit OpenGL 3+, mit altem OGL kenne ich mich nur ganz wenig aus.
von Artificial Mind
14.04.2013, 00:15
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

So, gibt neue Ergebnisse für den obigen Ausdruck: Unser JIT: 11ns GCC 4.7 im Release: 10ns Der Test ist ungefähr so aufgebaut: GCC Explorer (Die Random-Aufrufe werden nochmal separat gemessen und danach rausgerechnet) Ich denke damit sind wir im Bereich wo der Ram-Zugriff der limitierende Faktor ist...
von Artificial Mind
13.04.2013, 23:47
Forum: Vorstellungsbereich
Thema: [Projekt] No Mercy For Flying Saucers
Antworten: 10
Zugriffe: 1486

Re: [Projekt] No Mercy For Flying Saucers

Bei der Grafikkomplexität könnte man auch einfach in ein doppelt so großes Target rendern und dann am Ende runterskalieren ;)

EDIT: Falls das zu teuer ist, kannst du dir auch einfach ein FXAA aus dem Internet klauen oder es im Treiber aktivieren
von Artificial Mind
13.04.2013, 22:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Ja stimmt schon, für viele Lexer reicht dein Ansatz. Als ich vor nen paar Jahren mal einen Lexer + Parser für die Programmiersprache D geschrieben habe, hab ich auch direkt deinen Ansatz verfolgt und das funktionierte auch erstaunlich gut.
von Artificial Mind
13.04.2013, 22:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Deine Lösung ist halt sehr einfach und bequem und gut nachvollziehbar, wird aber bei einigen Features echt problematisch. Denk mal an folgende C++ Features: Line Splicing (Wenn auf ein / ein Newline folgt, so werden beide Zeichen ignoriert), Universal Character Names (ein \uXXXX oder \UXXXXXXXX im C...
von Artificial Mind
13.04.2013, 22:23
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

Tschuldigung wenn ich etwas negativ klang, war nicht so gemeint. Bei GCC ist der Unterschied zwischen Release und Debug nur ca. 3 bis 5, bei VC++ ist der auch nicht so groß wenn man kein Iteratordebugging hat. (Trivia: Unser Projekt läuft auf meiner Monster-CPU mit VC11 im Release auf 200fps, mit VC...
von Artificial Mind
13.04.2013, 21:57
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Gut, du hast die Vorwärst-Variante genommen. Da hilft es, sich eine "int currCodePoint()" und eine "nextCodePoint()" Funktion zu basteln. Auch "peek(int)"s sind recht beliebt. Ich kann dir ansonsten das hier empfehlen: http://cppgm.com/pa1.html Wenn du diese Aufgabe dur...
von Artificial Mind
13.04.2013, 21:50
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Trotzdem mal als kurze Antwort: Dein switch-case nimmt ja einzelne chars an. Du kannst es aber auch einfach ints (in UTF32) annehmen lassen. Dort kommen dann direkt die dekodierten utf8-chars rein. Quasi so: processUtf8Input(char c); // lies einzelne utf8 Zeichen ein und immer wenn eins komplett dek...
von Artificial Mind
13.04.2013, 21:40
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Ok dann möchte ich auch sicher gehen: Was unterscheidet einen UTF8-Lexer von einem normalen Lexer? Wenn ich UTF-8 Lexer sage, dann meine ich damit, dass der eingehende Zeichenstrom UTF-8-kodiert ist. Ein Lexer fummelt sich zeichenweise durch den Strom und muss sich pro Zeichen oft die folgenden ein...
von Artificial Mind
13.04.2013, 21:32
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Reden wir von UTF-8 als Enkodierung oder von Unicode als Zeichensatz?
von Artificial Mind
13.04.2013, 21:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Eins verstehe ich allerdings nicht... wieso hast du das als Antwort auf "Eins ist jedenfalls klar... ich schreibe keinen UTF-8 Lexer!" genutzt? :o Ach ich wollte nur ausdrücken dass UTF-8 und UTF-16 gar nicht so schlimm sind wenn man sich kurz einliest. Du klangst so als wenn "UTF-8 ...
von Artificial Mind
13.04.2013, 21:26
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Eins verstehe ich allerdings nicht... wieso hast du das als Antwort auf "Eins ist jedenfalls klar... ich schreibe keinen UTF-8 Lexer!" genutzt? :o Ach ich wollte nur ausdrücken dass UTF-8 und UTF-16 gar nicht so schlimm sind wenn man sich kurz einliest. Du klangst so als wenn "UTF-8 ...
von Artificial Mind
13.04.2013, 21:21
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

Mich würde interessieren, was ihr da treibt? Warum jittet ihr überhaupt? Dass ihr den Compiler damit überholt, halte ich für völlig ausgeschlossen. Ich bin da von vornherein von einem Fehler ausgegangen. Und gegen gcc im Debug Build zu vergleichen ist ja eigentlich nur ein Fehler. Unser Terrain bas...
von Artificial Mind
13.04.2013, 20:22
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Unicode Strings
Antworten: 72
Zugriffe: 7917

Re: Unicode Strings

Eins ist jedenfalls klar... ich schreibe keinen UTF-8 Lexer! UTF8 <-> UTF32 enum class UTF8State { Initial, Range2, Range3, Range3_1, Range4, Range4_1, Range4_2 }; string utf8encode(const vector<int> &v) { ostringstream str; for (int c: v) { if ( c == -1 ) continue; if ( c < (1 << (7)) ) str <<...
von Artificial Mind
13.04.2013, 17:49
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

Die 19ns waren ohne volle Optimierung vom gcc, deswegen ist das noch etwas geschummelt: http://pastebin.com/crqAzQjC Die vec2-Arithmetik ist aus der glm Lib, da müsste man nochmal gucken inwieweit die geinlined wird im Release build. Der test3-Text aus deinem Link sieht ziemlich optimal aus, beim Pa...
von Artificial Mind
13.04.2013, 17:00
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

Wir generieren ja unsere SSE-Instruktionen jetzt selbst, also brauchen wir das gcc-Verhalten gar nicht optimieren. Der richtig performancekritische Teil ist die Terrain-Generierung und dort wird unser jitting genutzt. Wenn das jitting komplett funktioniert fangen wir mit statischer Analyse an. Instr...
von Artificial Mind
13.04.2013, 12:47
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

Wir haben mal den Code verglichen, der gcc lädt noch relativ viel aus dem Ram (sowas wie Konstanten) und außerdem springt er noch recht wild zwischen GPR, x87-Registern und XMM-Registern umher. Wir haben eigentlich komplett XMM (auch wenn wir nur den ss-Modus nutzen) und ganz selten mal GPR (z. B. f...
von Artificial Mind
13.04.2013, 02:36
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2063
Zugriffe: 766124

Re: Anti-Jammer-Thread

Der Ausdruck "-100 * (90000 / (90000 + distance2(vec2(0, 0), vec2(x, z)))) + y + 90" wird jetzt von unserem Expressionsystem aus einem String in eine Zwischen-Bytecode-Repräsentation gebracht und dann per AsmJit auf nativen Code plattformunabhängig jit-kompiliert. Es sind noch bestimmt 50%...
von Artificial Mind
11.04.2013, 12:52
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7544
Zugriffe: 1686781

Re: Jammer-Thread

GCC 4.6 zeigt das gleiche Verhalten... Ich war eigentlich auch Schrompfs Meinung, man lernt halt nie aus ;)
von Artificial Mind
11.04.2013, 12:17
Forum: Artikel, Tutorials und Materialien
Thema: Musik/Töne (möglichst lizenzfrei oder CC)
Antworten: 23
Zugriffe: 40884

Re: Musik/Töne (möglichst lizenzfrei oder CC)

Danke Schrompf, ich unterstütze dich in deiner Entscheidung ;)
von Artificial Mind
08.04.2013, 09:00
Forum: Artikel, Tutorials und Materialien
Thema: Artikelempfehlungen, interessante Publikationen o.Ä.
Antworten: 483
Zugriffe: 343904

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Auch wenn einige Links davon sicher schon gepostet wurden: DICE Publications (Entwickler von Battlefield und Mirror's Edge)
von Artificial Mind
07.04.2013, 17:36
Forum: Grafikprogrammierung
Thema: [D3D] Textur NUR bei Vergrößerung pixelig samplen
Antworten: 13
Zugriffe: 2237

Re: [D3D] Textur NUR bei Vergrößerung pixelig samplen

Jetzt verstehe ich auch was das Problem mit dem AF ist: das greift eben auch bei Magnification, da es das Sample-Integral approximieren will und somit auch nah dran über Texelgrenzen hinweg "verwischt". Bei OpenGL ist gar nicht spezifiziert was AF macht, da es komplett herstellerabhängig i...
von Artificial Mind
07.04.2013, 15:20
Forum: Grafikprogrammierung
Thema: [D3D] Textur NUR bei Vergrößerung pixelig samplen
Antworten: 13
Zugriffe: 2237

Re: [D3D] Textur NUR bei Vergrößerung pixelig samplen

Interessanterweise muss man in OpenGL Min- und Mag-Filter getrennt setzen. Und dort funktioniert es auch prima wenn man Mag-Filter auf GL_NEAREST und Min-Filter auf GL_LINEAR_MIPMAP_LINEAR setzt...

EDIT: Das müsste deine Frage nach Hardwaresupport klären, oder?
von Artificial Mind
05.04.2013, 21:50
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Nachteile von JSON?
Antworten: 12
Zugriffe: 5822

Re: Nachteile von JSON?

Mal als Referenz: Wir nutzen Picojson ( https://github.com/kazuho/picojson ), das ist BSD Lizenz, nur eine Header-Datei und einigermaßen lesbar. mMn schön und minimalinvasiv ;)
von Artificial Mind
05.04.2013, 20:57
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Nachteile von JSON?
Antworten: 12
Zugriffe: 5822

Re: Nachteile von JSON?

Ich würde das nicht über Regexe machen. Es können sich ja sehr gut Kommentare in Strings "verstecken" und den Regex Strings + Escape Sequences in Strings unterstützen zu lassen halte ich für sehr fehleranfällig. Lieber den Parser erweitern.
von Artificial Mind
05.04.2013, 19:37
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Nachteile von JSON?
Antworten: 12
Zugriffe: 5822

Re: Nachteile von JSON?

Wir nutzen bei uns in Upvoid auch sehr viel JSON. Das mit den Kommentaren ist uns auch bereits aufgefallen und wir werden wahrscheinlich einfach unseren Parser dementsprechend erweitern. Das mit Datum finde ich allerdings keinen schwerwiegenden Nachteil. Man kann es auf verschiedenste Art und Weise ...