- Vector3<T> vLeft;
- vUp.normalize();
- vFront.normalize();
- vLeft = -(vFront % vUp);
- vLeft.normalize();
- vFront = -(vUp % vLeft);
DGL https://delphigl.com/forum/ |
|
@CoolMathLibrary, eine C++ Mathebibliothek https://delphigl.com/forum/viewtopic.php?f=14&t=9297 |
Seite 1 von 1 |
Autor: | Coolcat [ Sa Jun 26, 2010 12:04 ] |
Betreff des Beitrags: | @CoolMathLibrary, eine C++ Mathebibliothek |
Diskussions-Thread zu CoolMathLibrary (CML). |
Autor: | Lord Horazont [ Sa Jun 26, 2010 12:25 ] |
Betreff des Beitrags: | Re: @CoolMathLibrary, eine C++ Mathebibliothek |
Hm. Ohne Schleifen, heißt das, mit SSE/MMX oder hast du einfach die Operationen normal untereinander geschrieben? Denn eigentlich rollen compiler statische Schleifen recht gut aus, sodass der Code im Quelltext gut aussieht, aber halt keine Schleife verwendet. Hast du mal mittels ggc -S (-S lässt den temporären ASM-Code bestehen, sodass du ihn dir anschauen kannst; falls du überhaupt gcc benutzt) geschaut, ob er dir die Schleifen ausrollt? greetings |
Autor: | Coolcat [ Sa Jun 26, 2010 12:36 ] |
Betreff des Beitrags: | Re: @CoolMathLibrary, eine C++ Mathebibliothek |
Ich hab einfach die Operationen untereinander geschrieben. SSE/MMX nutze ich nicht um sicher zu sein, dass es überall läuft. Gut möglich, dass der Compiler statische Schleifen optimiert, ich hab mir das nicht näher angeguckt. Wenn er aber optimiert, wird er das nicht besser hin bekommen als das bei mir der Fall ist und Lesbarkeit ist bei mir durch sinnvolles Einrücken auch gegeben. Und ich behaupte auch gar nicht das meine Library das Non-Plus-Ultra ist....ich habe hier im Forum halt nur immer wieder Teile gepostet...da wollte ich das mal als ganzes veröffentlichen. |
Autor: | TAK2004 [ Sa Jun 26, 2010 13:29 ] |
Betreff des Beitrags: | Re: @CoolMathLibrary, eine C++ Mathebibliothek |
Unter gcc kannst du die vector extension verwende, damit du auf die sse1-4,mmx und 3dnow zugriff hast. Diese hab ich in RadonFramework auch mit eingebaut aber so viel power bringt das nicht. Ich hab letztens eine SphereSphereIntersection benchmark gebastelt und bin mit sse3 auf 600.000 Intersections und ohne auf 560.000(fpu) Intersections gekommen. Allerdings nur auf 1 Kern, mit Parallelisierung bekommt man viel mehr raus, bei 6 kernen hatte ich noch knapp 3.400.000 Intersections. Also bei einfachen dingen ist sse und co nicht so interessant, nur bei komplexen Operationen lohnt es sich. |
Autor: | Coolcat [ Di Mär 22, 2011 10:10 ] |
Betreff des Beitrags: | Re: @CoolMathLibrary, eine C++ Mathebibliothek |
CoolMath 2011-03-22 BETA veröffentlicht. |
Autor: | Markus [ Mo Apr 11, 2011 18:05 ] |
Betreff des Beitrags: | Re: @CoolMathLibrary, eine C++ Mathebibliothek |
Mir ist aufgefallen, dass der Konstruktur für die Matrix44 mit Up-, Front- und Positionsvektor auskommentiert ist. Nachdem ich ihn dennoch getestet habe, gab es ein paar Darstellungsfehler. Ich habe den Code danach etwas verändert: Code:
Damit scheint es zu funktionieren. Vielleicht hilft es dir |
Autor: | Coolcat [ Di Apr 12, 2011 07:37 ] |
Betreff des Beitrags: | Re: @CoolMathLibrary, eine C++ Mathebibliothek |
Das ganze war Copy&Paste aus einer noch älteren Version. Ich hatte damals nur gesehen, dass es nicht mehr funktionierte und keine Zeit selbst zu probieren. Thx. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |