Raytracer
-
Mein Raytracer gibt immer falsche Pixels aus.
SELECT * FROM t_pixels WHERE x*dx+y*dy+z*dz-px*dx-py*dy-pz*dz < epsilon
wobei dx dy dz die Richtung ist
px py pz die start-pos vom Strahl
und epsilon eben ein Epsilon-wert für die "Körnung"!Dummerweiße ist jeder 2. oder 3. Pixel an falscher Stelle!!
klar könnte ich mit einem Filter drüber jagen aber das ist ja nicht Sinn der Sache und auch sehr langsamweiß einer rat?
-
*bastelt die Bedingung um*
x*d-p*d<e
(x-p)*d<eDas sieht für mich nach einer Ebene (bzw. Halbraum) senkrecht auf deinem Richtungsvektor aus - liege ich damit richtig?
Eventuell solltest du den Betrag verwenden, um eine Raumschicht der Dicke epsilon um den Nullpunkt zu bestimmen:
... WHERE abs(x*dx+y*dy+z*dz-px*dx-py*dy-pz*dz) < epsilon