Die Suche ergab 426 Treffer

von Spiele Programmierer
24.03.2021, 19:37
Forum: Allgemeines Talk-Brett
Thema: Virenscanner, mal wieder
Antworten: 7
Zugriffe: 256

Re: Virenscanner, mal wieder

Schade. Diese Art von Design-Fehlern sind leider in Custom-Level sehr verbreitet. Zu einem gewissen Grad, wurde das ja auch in den offiziellen Leveln vorgemacht (z.B. kennst du das Level mit der U-Bahn in TR3? Da gibt es so 6 Ticketschalter die einfach genau gleich aussehen, aber nur bei einem kann ...
von Spiele Programmierer
23.03.2021, 03:24
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6617
Zugriffe: 1254371

Re: Jammer-Thread

Wer kam eigentlich auf die gloriose Idee, dass bsr / BitScanReverse nichts mehr taugt um man jetzt Nullen zählt? In 99% der Fälle, in dem ich diesen Befehl brauche, will ich genau das machen was Schrompf auch machen will: Den Index des höchsten Bits. Nichts anderes. Niemand will 0en zählen. Warum so...
von Spiele Programmierer
23.03.2021, 02:20
Forum: Allgemeines Talk-Brett
Thema: Virenscanner, mal wieder
Antworten: 7
Zugriffe: 256

Re: Virenscanner, mal wieder

Als jemand der schonmal in der TR-Custom-Level-Szene mitgewirkt hat, kann ich dir sagen, dass das Problem mit den Virenfalschmeldungen mehr als bekannt ist. Es gibt mindestens zwei große Patcher in der TR-Fan-Gemeine: TREP und TRNG. Wenn ich das richtig im Kopf habe, ist besonders der TREP-Patcher v...
von Spiele Programmierer
21.03.2021, 01:58
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: char* p vs. char *p
Antworten: 5
Zugriffe: 236

Re: char* p vs. char *p

Der Zeiger ist Teil des Typen, nicht der Variable. Das ist Fakt. Weil man das zu Zeiten als C entworfen wurde noch nicht so wahrgenommen hat, haben wir aber die heutigen Syntaxprobleme wie char* a, b , bei dem nur a ein Zeiger wird, und so Dinge wie char (&a)[] und (void (a)())[] usw., die zieml...
von Spiele Programmierer
14.03.2021, 20:10
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Define in anderer CPP prüfen
Antworten: 4
Zugriffe: 176

Re: [C++] Define in anderer CPP prüfen

Noch paar Denkanstöße: Die beiden Vorredner haben bereits eine globale Datei mit allen möglichen solchen Einstellungen vorschlagen. Ich möchte dazu noch zu bedenken geben: Wenn du dies machst, musst bei der Änderung jeder Einstellung praktisch alles neukompilieren. Das hängt natürlich sehr vom Anwen...
von Spiele Programmierer
09.03.2021, 19:21
Forum: Vorstellungsbereich
Thema: [Projekt] StoneQuestCPP
Antworten: 91
Zugriffe: 2511

Re: [Projekt] StoneQuestCPP

C++ ist halt die Sprache die man immer benutzten KANN. Es ist sicher nicht immer das perfekte Werkzeug, aber eins das zu 99% funktioniert. Ich kann damit halt von Assembler/Intrinsics bis hin zu OOP oder Templates alles machen. Diese Vielseitigkeit ist sicher auch verantwortlich fuer die weite Verb...
von Spiele Programmierer
08.03.2021, 20:14
Forum: Vorstellungsbereich
Thema: [Projekt] StoneQuestCPP
Antworten: 91
Zugriffe: 2511

Re: [Projekt] StoneQuestCPP

Als jemand der die letzten Jahre vor allem mit C++ gearbeitet hat, kann ich den Vorrednern nur zustimmen und dir von C++ abraten. Ne ehrlich, C++ ist sehr verbreitet und flexibel. Das spricht für die Sprache und ist erstmal gut. Aber sonst, auweh... Das Leid, welches man als C+++-Programmierer alltä...
von Spiele Programmierer
01.03.2021, 19:52
Forum: Allgemeines Talk-Brett
Thema: VS Code oder anderer Text Editor, ganze Zeilen auswählen
Antworten: 5
Zugriffe: 111

Re: VS Code oder anderer Text Editor, ganze Zeilen auswählen

Noch eine C#-Variante: var ls = File.ReadAllLines("log.txt"); foreach (string l in ls) if (l.Contains("bforartist")) Console.WriteLine(l); Ein klein bisschen länger, aber mit Autovervollständigung praktisch genauso schnell zu tippen. Ob das Werkzeug jetzt Python heißt oder C# ist...
von Spiele Programmierer
01.03.2021, 19:22
Forum: Vorstellungsbereich
Thema: Voxel Cone Tracing-Experiment
Antworten: 18
Zugriffe: 292

Re: Showroom - Aktuelle Arbeiten und Projekte

AVX256 macht mir tatsächlich auch Spaß :-) :D Meines Erachtens ist das halt wirklich der große Unterschied zum GPU-Programmieren. Sie macht leider viel zu oft keinen Spaß! Die Landschaft ist so zersplittert, es gibt ständig Treiberprobleme mit irgendwelchen Karten, es ist völlig intransparent was d...
von Spiele Programmierer
28.02.2021, 21:51
Forum: Vorstellungsbereich
Thema: Voxel Cone Tracing-Experiment
Antworten: 18
Zugriffe: 292

Re: Showroom - Aktuelle Arbeiten und Projekte

Es hat sich nämlich herausgestellt, dass std::sort drastisch schneller ist, wenn es mit vorsortierten Daten arbeitet. Wir reden hier mal locker vom Dreifachen bei Sortierung von ~100 int64 . Wenn das Sortieren bei dir ein Engpass ist, schlage ich vor, mal einen anderen Sortieralgorithmus ins Auge f...
von Spiele Programmierer
27.02.2021, 17:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Design Pattern fürs Pointer-Speichern
Antworten: 15
Zugriffe: 471

Re: Design Pattern fürs Pointer-Speichern

Ich verstehe das Problem nicht, welches du bei dem Lösungsvorschlag von Chromanoid siehst. Die Besitzverhältnisse sind zur Ladezeit, soweit ich das sehe, doch eigentlich fast egal. Auch sagt ja niemand, dass du die gesamte Objekthierarchie neuladen willst/musst. Ich verstehe die Lösung so, dass du n...
von Spiele Programmierer
23.02.2021, 19:21
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Design Pattern fürs Pointer-Speichern
Antworten: 15
Zugriffe: 471

Re: Design Pattern fürs Pointer-Speichern

Fun Fact ohne Wertung: Visual C++ unterstützt das nativ via __based . Eines der Features, die ich schon immer mal ausprobieren wollte, aber ganz genau weiß, dass ich damit die Tore zur Hölle aufstoßen würde :) Der Artikel zeigt auch noch eine weitere Möglichkeit auf: Du kannst deinen Allokator repr...
von Spiele Programmierer
23.02.2021, 02:36
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Design Pattern fürs Pointer-Speichern
Antworten: 15
Zugriffe: 471

Re: Design Pattern fürs Pointer-Speichern

Sehr gute Frage mit der ich mich schon öfter rumgeärgert habe. Vorweg: Ich denke es gibt keinen Königsweg. Egal wie man es macht, es ist immer leicht fehleranfällig. Zu den von dir genannten Möglichkeiten möchte ich noch drei ergänzen: Falls dies mit deinem Objektsystem kompatibel ist, gibt es noch ...
von Spiele Programmierer
13.02.2021, 16:03
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Tools in Source Control einchecken?
Antworten: 17
Zugriffe: 473

Re: Tools in Source Control einchecken?

Bei meinen privaten Projekten sind die Tools im Repository (z.B. Ninja, Premake und Nasm). Der Hauptgrund dafür ist, es für andere Leute einfacher zu machen, den Code zu kompilieren. Bei einigen Open Source Projekten gibt es ja eine ganze Anleitung oder sogar Handbuch, was man denn alles eingerichte...
von Spiele Programmierer
31.01.2021, 19:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [x86 Intrinsic] Gegenstück zu movemask
Antworten: 13
Zugriffe: 259

Re: [x86 Intrinsic] Gegenstück zu movemask

Das Punktprodukt ist auch eine sehr schlechte Idee bei AMD-Prozessoren. (Durchsatz von einem Befehl in 10 bzw. 14 Takten laut AMD)

Ich würde daher von diesem Intrinsic Abstand nehmen.
von Spiele Programmierer
31.01.2021, 00:39
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [x86 Intrinsic] Gegenstück zu movemask
Antworten: 13
Zugriffe: 259

Re: [x86 Intrinsic] Gegenstück zu movemask

@Kristhy Der _pdep_u64 -Intrinsic erfüllt eine super Funktion, hat allerdings eine fiese Falle. Ich bin auch schonmal reingetappt: Man muss dringend davon Abstand nehmen, wenn man AMD-CPUs unterstützen will. Der Befehl ist dort unbrauchbar langsam. Agner spricht von 6 Zyklen für einen Befehl Durchsa...
von Spiele Programmierer
30.01.2021, 21:45
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [x86 Intrinsic] Gegenstück zu movemask
Antworten: 13
Zugriffe: 259

Re: [x86 Intrinsic] Gegenstück zu movemask

Gukst du einfach hier: https://software.intel.com/sites/landingpage/IntrinsicsGuide xD Sorry, ich konnte es mir nicht verkneifen. Vorweg, du kannst durchaus _mm256_blendv_ps für Integers verwenden, aber nur zur Sicherheit, falls du das noch nicht gehört hast, möchte ich darauf hinweisen, dass beim W...
von Spiele Programmierer
30.01.2021, 00:55
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Betriebssysteme
Antworten: 10
Zugriffe: 410

Re: Betriebssysteme

Wenn du ein C(++) Programm schreibst, wird dies in Prozessorcode übersetzt. Normalerweise ist das x86 am PC. Mit einem Disassembler (oder mit dem richtigen Flag fest in die meisten Compiler eingebaut), kannst du diesen in Assemblercode umwandeln. Assemblercode korrespondiert i.d.R. 1:1 zu den Bytes ...
von Spiele Programmierer
19.12.2020, 18:10
Forum: Vorstellungsbereich
Thema: Showroom - Aktuelle Arbeiten und Projekte
Antworten: 1708
Zugriffe: 741139

Re: Showroom - Aktuelle Arbeiten und Projekte

Hört sich doch schon ganz nett an. :) Die Übergänge dürften für meinen Geschmack aber sogar noch etwas ausgedehnt werden. Sowas ähnliches kenne ich vor allem von einem alten PowerPoint-Addin: https://cmpct.info/~calvin/Articles/PowerPointSoundtracks . Das ist glaub ich relativ nahe daran, was dir vo...
von Spiele Programmierer
13.12.2020, 22:36
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6617
Zugriffe: 1254371

Re: Jammer-Thread

Ich glaube Schrompf hat gemeint, dass du in der Warteschlange einfach ganz altmodisch C-Zeiger speicherst und zuvor release t. Eine alternative Möglichkeit wäre einen std::vector zu verwenden und einfach mit std::push_heap und std::pop_heap als Warteschlange zu verwenden. Beispiel: https://www.cplus...
von Spiele Programmierer
17.11.2020, 18:37
Forum: Grafikprogrammierung
Thema: Alpha Blended Shader Optimieren
Antworten: 13
Zugriffe: 445

Re: Alpha Blended Shader Optimieren

Hast du nicht in dem anderen Thread geschrieben, dass du inzwischen WebGL 2 verwendest? Ich kenne WebGL zwar nicht, aber laut dem Internet, basiert es auf OpenGLES 3.0. OpenGLES 3.0 unterstützt eigentlich schon switch -Ausdrücke. Kann es sein, dass du einfach noch nicht OpenGLES 3.0 GLSL verwendest?...
von Spiele Programmierer
17.11.2020, 14:01
Forum: Grafikprogrammierung
Thema: Alpha Blended Shader Optimieren
Antworten: 13
Zugriffe: 445

Re: Alpha Blended Shader Optimieren

Leider ist es nicht einfach relativ allgemeingültige Aussagen zur Performance zu treffen. Einige Hersteller versuchen so viel wie irgendwie möglich geheim zu halten und es gibt einfach ne ganze Menge an Architekturen (besonders wenn man Handy-GPUs mitzählt). Mein Wissensstand ist aber auch etwa das,...
von Spiele Programmierer
14.11.2020, 23:48
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ Template Spezialisierung
Antworten: 6
Zugriffe: 270

Re: C++ Template Spezialisierung

Wenn du Template-Spezialisierung verwenden würdest, dann würde es gehen. Du verwendest in dem Beispiel aber nicht Template-Spezialisierung sondern Überladung. Und Überladungen dürfen sich nicht nur im Rückgabetyp unterscheiden. Echte Spezialisierung würde so aussehen, denn der Rückgabetyp darf sich...
von Spiele Programmierer
10.11.2020, 14:27
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6617
Zugriffe: 1254371

Re: Jammer-Thread

Ich habe eben auch nochmal den Artikel zu Unicode-Äquivalenz überflogen: https://en.wikipedia.org/wiki/Unicode_equivalence Es ist halt irgendwie schon sehr fraglich, ob man sowas in einem == Operator haben möchte. Wenn ich sowas vorhabe fände ich es vermutlich ok eine externe Bibliothek einzusetzen...
von Spiele Programmierer
09.11.2020, 21:53
Forum: Allgemeines Talk-Brett
Thema: Linkdump
Antworten: 343
Zugriffe: 226179

Re: Linkdump

Da muss ich mich Schrompf anschließen.

Ich bekenne mich eindeutig zu Y-Up (und Right Handed).
von Spiele Programmierer
09.11.2020, 21:12
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6617
Zugriffe: 1254371

Re: Jammer-Thread

Man kommt ziemlich weit, wenn man Unicode ignoriert. Das wundervolle bei UTF-8 ist, dass man fast alle Operationen genauso wie ANSI implementieren kann. Das beinhaltet Suchen, Ersetzen, Substrings, Verkettung und String-Formattierung. In Strings reinindizieren ist nützlich für die effiziente Impleme...
von Spiele Programmierer
07.11.2020, 19:24
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6617
Zugriffe: 1254371

Re: Jammer-Thread

Die C++ Standardbibliothek kann sehr viel, aber ist besonders gut bei Dingen, die niemand braucht. Sie ist zwar wahnsinnig kompliziert, aber das, was du wirklich brauchst, werden dann oft nicht unterstützt. Ich habe die Hoffnung in die STL schon vor einer Weile aufgegeben. Deine Routine funktioniert...
von Spiele Programmierer
06.11.2020, 00:18
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Code-Analyse f. Initialisierung
Antworten: 14
Zugriffe: 401

Re: Code-Analyse f. Initialisierung

Was ist denn das schlimmste das ein "if(show)" auslösen kann, wenn vollkommen egal wäre, ob der Zweig darunter ausgeführt wird oder nicht? Theoretisch laut C++-Standard ist das der Supergau "Undefined Behaviour". D.h. es ist extrem, sehr, sehr schlimm und du hast keine Garantie,...
von Spiele Programmierer
03.11.2020, 16:42
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Code-Analyse f. Initialisierung
Antworten: 14
Zugriffe: 401

Re: Code-Analyse f. Initialisierung

Uninitialisierte Speicherzugriffe findet, soweit ich weiß, aber nur der Memory Sanitizer und nicht der Address Sanitizer. Mit dem Address Sanitizer von VS 2019 hatte ich auch eher gemischte Ergebnisse. Man muss irgendwelche komischen Bibliotheken manuell linken. Und dann hält der Address Sanitizer b...
von Spiele Programmierer
03.11.2020, 16:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Code-Analyse f. Initialisierung
Antworten: 14
Zugriffe: 401

Re: Code-Analyse f. Initialisierung

Bezüglich statischer Analyse kann ich mich nur den anderen anschließen. Man findet zwar schon Bugs, aber die Rate der Falschmeldungen ist extrem hoch. Dass sie dir in deinem konkreten Fall weiterhelfen kann, halte ich für recht unwahrscheinlich. Ich würde auch erstmal versuchen, mit Release-Mode-Deb...