vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
3D-Linien in WPF zeichnen 
Autor: Paul Schäfer
Datum: 15.01.10 10:53

Moin, moin.

Ich möchte gerne 3D-Linien auf 3D-Objekte eines WPF-Szenegrafen zeichnen.

Habe ein WinForms-Projekt mit einem WPF-DockPanel in einem ElementHost. Die 3D-Linien habe ich mit ScreenSpaceLines3D gezeichnet, um Wireframes meiner 3D-Objekte (=Quader) zu erhalten. Jedoch bin ich mit der Qualität der Linien recht unzufrieden. Sieht man auch ähnlich unter http://www.kindohm.com/technical/wpf3dtutorial.htm (ganz unten!).
Habe dann mit Linienstärken, Offset u.a. für die Wireframes herumgespielt, brachte nix.
Weitere Probleme dabei: Die ScreenSpaceLines3D-Linien habe ich nicht an eine Model3DGroup oder an ein GeometryModel3D hängen können, sondern nur anden Viewport oder das ModelVisual3D. (Oder geht das doch?) Dadurch gabs dann Performance-Probleme. Außerdem soll beim HitTest eines 3D-Objektes auch der Wireframe mit erfasst werden...

Mir ist klar, dass WPF noch recht unvollständig ist.
Wird dies in .NET 4.0 behoben sein?
Ist evtl. Viewport2DVisual3D eine Lösung?
Oder sollte ich eine 2D-Linie nutzen und mir eine Trafo schreiben (womit alle visuellen Vorteile des Szenegrafen wech wären)?

Zur Info der Code für eine 3D-Linie:
        Public Function Linie(ByVal p0 As Point3D, ByVal p1 As Point3D, ByVal _
          Farbe As Color, ByVal Dicke As Double) As _3DTools.ScreenSpaceLines3D
            'zeichnet eine Linie von p0 bis p1
            Dim Pkte As Point3DCollection = New Point3DCollection
            Pkte.Add(p0)
            Pkte.Add(p1)
 
            Dim oLinie As _3DTools.ScreenSpaceLines3D = New _
              _3DTools.ScreenSpaceLines3D()
            oLinie.Points = Pkte
            oLinie.Color = Farbe
            oLinie.Thickness = Dicke
            Return oLinie
        End Function
Bin dankbar für Tippsssssssssssss.

Grüße von Paul

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
3D-Linien in WPF zeichnen3.076Paul Schäfer15.01.10 10:53

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel