[Projekt] Mein STL-Viewer

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.

Re: [Projekt] Mein STL-Viewer

Beitragvon Jonathan » 04.06.2018, 22:51

joah, tut ganz gut :)
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Jonathan
Establishment
 
Beiträge: 1218
Registriert: 04.08.2004, 20:06

Re: [Projekt] Mein STL-Viewer

Beitragvon Krishty » 12.07.2018, 23:43

Wieder eine neue Version:

https://papas-best.com/stlviewer_en#download

Mit Bugfix und verbessertem Antialiasing.


Hintergrund und eine Empfehlung für D3D-Programmierer:

Ein User hat sich bei mir gemeldet, weil der Viewer abstürzt. Er hat mir seinen Crash Dump gesendet, und der sah erstmal recht merkwürdig aus – D3D war zu zwei Dritteln initialisiert, aber die Objekte waren total kaputt.

Das war die Folge von drei kleinen Fehlern:

  • Ich habe blind Antialiasing auf 4× gestellt. Schließlich garantiert D3D ab 10.1, dass jede GPU mindestens 4× unterstützt! Nur habe ich vor geraumer Zeit die Hardware-Anforderungen auf 10.0 gesenkt … und tadaaa, da ist Antialiasing komplett optional. Der User hatte nur 10.0.

  • Die Swap Chain ließ sich problemlos mit 4×MSAA erstellen. Der Depth Buffer jedoch nicht. (WTF?! Komischer Treiber, aber … ist halt erlaubt.)

  • Dafür hatte ich Fehlerbehandlung, aber die enthielt einen Flüchtigkeitsfehler beim Setzen eines Zeigers. Dadurch funktionierte sie nur einmal. Mein Viewer beginnt sofort beim Start in einem separaten Thread mit dem Laden von D3D, weil das so ewig lange dauert (erster Versuch, hinterlässt kaputten Zeiger) und beim Laden einer Datei dann nochmal (zweiter Versuch erwischt kaputten Zeiger). Crash.

  • Der Treiber unterstützt nur 32 MiB VRAM, obwohl D3D 10 garantierten Platz von 128 MiB pro Ressource vorschreibt. Das hat zwar nichts zum Absturz gebracht, aber es führt dazu, dass der User auch nach der Korrektur nur mini-STLs öffnen kann.


Daher meine Empfehlung an D3D-Programmierer: Sucht das höchste unterstützte Multisample-Level (ID3D11Device::CheckMultisampleQualityLevels()) und nutzt das. Dann macht Legacy-Hardware keine Probleme und neue GPUs profitieren von besserem MSAA (mittlerweile scheint jeder 8× zu unterstützen, obwohl D3D nur 4× garantiert). Das macht mein Viewer nun auch. (Ich weiß nur noch nicht, wie ich es in meinen anderen Programmen mit Coverage-Based Texture Transparency kombiniere, ohne vier verschiedene Shader zu schreiben.)

Kosten: ca. 140 B.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
 
Beiträge: 6560
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Vorherige

Zurück zu Vorstellungsbereich

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste