3D Viewer Isosurfaces? Wahl der API

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von dot »

1) Sortierst du deine Ebenen richtig?
2) Verwendest du Mip-Mapping?
3) Hast du die Beleuchtung ausgeschaltet?
joeydee
Establishment
Beiträge: 1044
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von joeydee »

Dennis hat geschrieben:Wenn ich theoretisch einen Würfel male, bei dem alle Seiten die gleiche Farbe besitzen. Dann färbt dx doch die Seite auch je nach perspektive anders ein. Wie heißt dieser Effekt und wie verhindere ich den?
Eigentlich nicht, das macht nur die Beleuchtung. Ansonsten kann es ja eigentlich nur noch ein (Mip)Mapping-Problem sein, also dass die Textur bei steilen Winkeln nicht mehr gut genug gesampled oder gefiltert wird.
Dennis
Beiträge: 33
Registriert: 10.02.2004, 20:00

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von Dennis »

Super vielen Dank! Es war das Mip-Mapping. Hatte einen Teil des Code aus einem Tutorial und die Filter hatte ich als Glättung oÄ. abgetan.. da hätte ich wohl zu aller letzt gesucht.
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von dot »

Dacht ich mir. Allerdings bedeutet das wohl auch, dass dein Volumen Mip-Maps hat. Wenn du diese sowieso nicht brauchst, dann würd ich auch keine generieren, Volumendaten sind eh so schon groß genug ;)
Dennis
Beiträge: 33
Registriert: 10.02.2004, 20:00

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von Dennis »

Damit vielleicht noch andere irgendwas von diesem Thread haben:
Ich habe das ganze in slim dx ganz gut implementieren können. Leider hat dies aber meine restliche GUI in C# extrem flackern lassen(auch wenn ich externe Frames oder Ähnliches verwendet habe), dieses Problem habe ich nicht wegbekommen, so dass ich alles nochmal in WPF 3D implementiert habe. War auch nicht alles wunderbar mit der GUI zu vereinbaren, aber inzwischen habe ich eine Implementierung die man einen Kunden präsentieren kann.

Volume mapping habe ich mit Marching Cubes erreicht. Ein großes Problem ist/war das echtzeit smoothing der Normalen ( da dynamisch das Rauschlevel gewählt wird). Hier habe ich schlussendlich den Raum zerstückelt und dann nur in Stücken den Raum durchsucht.
Dateianhänge
delme3.png
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von B.G.Michi »

Beim Marching Cubes kannst du doch direkt die Normalen mitberechnen und zwar als Gradient der Dichteverteilung. Oder werden nur die Normalen immer neuberechnet?
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: 3D Viewer Isosurfaces? Wahl der API

Beitrag von Artificial Mind »

Gradient der Dichteverteilung ist auch nur eine eher schlechte Approximation. Ich würde bei Marching Cubes tatsächlich Face Normals empfehlen (und dann entsprechend jeder Vertex eine Gewichtung der umliegenden Face Normals).
Antworten