Suchergebnisse

Suchergebnisse 1-6 von insgesamt 6.

  • Benutzer-Avatarbild

    Hi die von dir gepostete Project-Methode macht folgendes: Der Punkt P soll projeziert werden - (transformed.X|Y.ParseToNumeric<T>() + 1.0) * 0.5: Die Eingabe wird im (sichtbaren) Intervall von [-1, 1] auf das Intervall von [0, 1] gemappt - * width bzw. * height: Skaliere auf die angegebenen Bildschirmabmessungen - + x bzw. + y: Verschiebe noch um die x- und y-Koordinate Bei Z geschieht Quatsch, weil warum sollte man (1.0 - 0.0) multiplizieren (ist ja 1.0) und 0.0 aufaddieren, aber im Prinzip wir…

  • Benutzer-Avatarbild

    Dein im 1. Posting geposteter Code projiziert ebenfalls über perspektivische Projektion. Das lässt sich über Near/Far plane und Field of View festmachen. Der Wikipediaartikel zeigt das ebenfalls, jep. Die Matrix brauchst du übrigens gar nicht, die macht das Verfahren höchstens ineffizient. Rechne es am besten einfach direkt. Wenn du die World-View-Projection-Matrix hast, ist das was anderes. Hast du btw. in der Matrix nicht einen Fehler? Sollte es nicht 1.0 / eZ sein, statt 1.0 / eX? Btw. warum …

  • Benutzer-Avatarbild

    Die Frage kann ich dir nicht beantworten. Vermutlich genauso. Ist dein Ergebnis denn falsch? Rotation um die X-Achse bedeutet doch eigentlich, dass es so aussieht, wie du es gezeigt hast. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Die maximale Länge von was? Von der Ausgabe? Und von was in der Ausgabe? Wenn du die Multiplikation mit width und height rausnimmst, liegt der Wert zwischen 0 und 1. Das ist dann aber keine typische Viewport-Projektion. Mit eigenen Shadern hast du die Möglichkeit, ein eigenes Konzept aufzuziehen und bist nicht mehr an die World-View-Projection-Geschichte gebunden, wenn du auf sie verzichten möchtest. Du kannst das lösen, wie es dir beliebt, nur solltest du halt korrekte Resultate erzielen. Im Ve…

  • Benutzer-Avatarbild

    Also an sich clippt DirectX die unsichtbaren Teile von Faces von sich aus. An sich musst aber du die zu zeichnenden Elemente einschränken, d.h. all jene Elemente möglichst effizient möglichst stark entfernen, die nicht sichtbar sind. Bspw. sind Binary Space Partitioning oder kd-Trees Algorithmen, die ganz gut dafür sind. Eine einfache Methode, sowas zu implementieren, sind bspw. Octrees, die sind aber eher weniger effizient für allgemeine Szenarien (BSP ist eine Verallgemeinerung von kd-Trees, k…

  • Benutzer-Avatarbild

    Ggf. solltest du übrigens angle zu radians umbenennen oder umrechnen. Was mich irritiert sind die folgenden Dinge: VB.NET-Quellcode (1 Zeile) Soll das so sein? Außerdem VB.NET-Quellcode (1 Zeile) Müsste es nicht 1.0 statt 2.0 sein, sodass das in die Mitte wandert? Es wäre sonst doch ganz rechts, oder? VB.NET-Quellcode (2 Zeilen) Warum genau hast du da eigentlich * -1 gerechnet? Sollte es nicht eX - (eZ / dZ) * dX, usw. lauten? Ich kann gerade leider nur kurz drüberschauen. Viele Grüße ~blaze~