auf den folgenden Ressourcen auf der Grundlage, ich habe versucht, unabhängig von der Auflösung kubische Bezier auf der GPU zu bekommen Rendering zu arbeiten:Auflösung unabhängiger kubischer Bezier auf GPU-Zeichnung (Blinn/Loop)
Resolution Independent Curve Rendering using Programmable Graphics Hardware
Aber wie auf der Curvy Blues Website angegeben, gibt es Fehler in den Dokumenten auf den anderen beiden Websites. Curvy Blues sagt mir, dass ich mir die Kommentare ansehen soll, aber ich kann diese Kommentare nicht finden. Ein anderes Forum irgendwo sagt mir dasselbe, ich erinnere mich nicht, was dieses Forum war. Aber da ist definitiv etwas, was mir fehlt.
Wie auch immer, ich habe versucht zu regenerieren, was passiert, und ich verstehe nicht den Teil, wo die Diskriminante aus den Determinanten einer Kombination von transformierten Koordinaten berechnet wird.
Also habe ich die ursprünglichen Koordinaten, ich stecke sie in eine 4x4-Matrix, transformiere diese Matrix mit der M3-Matrix und bekomme die C-Matrix. Dann erstelle ich 3x3 Matrizen aus den Koordinaten in der C-Matrix und berechne die Determinanten, die dann kombiniert werden können, um die a, b und c der quadratischen Gleichung zu erzeugen, die mir helfen werden, die Wurzeln zu finden.
Problem ist, wenn ich es genau so mache: die Diskriminante ist falsch. Ich habe klar Koordinaten für eine Serpentine (eine symmetrische, aber eine richtige Serpentine), aber es gibt an, dass es eine Spitze ist. Wenn ich es selbst mit wxMaxima errechne, auf die 1. und 2. Ordnung ableitend und dann das Produkt, das sich auf eine quadratische Gleichung vereinfacht, berechnet, scheint die Diskriminante dieser Gleichung korrekt zu sein, wenn ich die gleichen Koordinaten einstelle. Wenn ich den Code zwinge, meine eigene Diskriminante zu verwenden, um zu bestimmen, ob es eine Serpentine ist oder nicht, aber ich die Determinanten verwende, um die weiteren k, l, m Texturkoordinaten zu berechnen, ist das Ergebnis auch falsch. Also vermute ich, dass es einen Fehler in den Determinanten geben muss.
Kann mir jemand helfen, das richtig zu machen?
großartig, ich lese deine Antwort, es hat sehr geholfen. Weißt du, wie man das Artefakt im Loop-Fall löst? Ich habe eine Frage hier: http://stackoverflow.com/questions/20970673/how-to-solve-rendering-artifact-in-blinn-loops-resolution-independent-curve-ren – azer89
Nein, leider hatte ich einige ungelöste Probleme und ich habe aufgehört zu versuchen, es zu beheben ... Aber ich sehe jetzt, dass Sie es gerade in diesem Thread gelöst haben, vielleicht hilft Ihre Lösung bei meinen Problemen ... Ich werde mich darum kümmern! – scippie
Ich habe noch ein Problem, die gerenderten Kurven können entweder konvex oder konkav sein, ich frage mich immer noch, ob es einen Test gibt, um das zu bestimmen. – azer89