tuned ray-triangle intersection, now there are three algorithms to choose from:
Plucker, Barycentric and Barycentric with preprocessing (Wald)
methods in Vector and Shape (and derivates) made const
+ − # Blender v242 OBJ File: bow.blend
+ − # www.blender3d.org
+ − mtllib sphere.mtl
+ − v -0.024294 0.961141 -0.274988
+ − v 0.683332 0.290993 -0.669598
+ − v -0.332322 0.192749 -0.923249
+ − v -0.903742 0.422154 -0.070949
+ − v -0.241221 0.662176 0.709446
+ − v 0.739635 0.581112 0.339455
+ − v 0.241221 -0.662176 -0.709446
+ − v -0.739635 -0.581112 -0.339455
+ − v -0.683332 -0.290993 0.669598
+ − v 0.332322 -0.192749 0.923249
+ − v 0.903742 -0.422154 0.070949
+ − v 0.024294 -0.961141 0.274988
+ − v 0.387374 0.735988 -0.555215
+ − v -0.209614 0.678242 -0.704308
+ − v 0.206320 0.284339 -0.936260
+ − v 0.420468 0.906516 0.037893
+ − v 0.836404 0.512613 -0.194054
+ − v -0.545486 0.813080 -0.203337
+ − v -0.726545 0.361433 -0.584379
+ − v -0.156067 0.954165 0.255369
+ − v -0.672997 0.637357 0.375302
+ − v 0.292963 0.730793 0.616534
+ − v 0.965959 0.093434 0.241231
+ − v 0.932865 -0.077095 -0.351879
+ − v 0.543447 -0.218179 -0.810594
+ − v -0.053548 -0.275925 -0.959686
+ − v -0.630090 -0.228277 -0.742210
+ − v -0.965959 -0.093434 -0.241231
+ − v -0.932865 0.077095 0.351879
+ − v -0.543447 0.218179 0.810594
+ − v 0.053548 0.275925 0.959686
+ − v 0.630090 0.228277 0.742210
+ − v 0.672997 -0.637357 -0.375302
+ − v -0.292963 -0.730793 -0.616534
+ − v -0.836404 -0.512613 0.194054
+ − v -0.206320 -0.284339 0.936260
+ − v 0.726545 -0.361433 0.584379
+ − v 0.545486 -0.813080 0.203337
+ − v 0.156067 -0.954165 -0.255369
+ − v -0.420468 -0.906516 -0.037893
+ − v -0.387374 -0.735988 0.555215
+ − v 0.209614 -0.678242 0.704308
+ − usemtl (null)
+ − usemtl (null)
+ − s off
+ − f 15 13 2
+ − f 13 15 14
+ − f 3 14 15
+ − f 14 1 13
+ − f 17 2 13
+ − f 13 16 17
+ − f 6 17 16
+ − f 13 1 16
+ − f 19 14 3
+ − f 14 19 18
+ − f 4 18 19
+ − f 18 1 14
+ − f 21 18 4
+ − f 18 21 20
+ − f 5 20 21
+ − f 20 1 18
+ − f 22 20 5
+ − f 20 22 16
+ − f 6 16 22
+ − f 16 1 20
+ − f 24 2 17
+ − f 17 23 24
+ − f 11 24 23
+ − f 23 17 6
+ − f 26 3 15
+ − f 15 25 26
+ − f 7 26 25
+ − f 25 15 2
+ − f 28 4 19
+ − f 19 27 28
+ − f 8 28 27
+ − f 27 19 3
+ − f 30 5 21
+ − f 21 29 30
+ − f 9 30 29
+ − f 29 21 4
+ − f 32 6 22
+ − f 22 31 32
+ − f 10 32 31
+ − f 31 22 5
+ − f 33 24 11
+ − f 24 33 25
+ − f 7 25 33
+ − f 25 2 24
+ − f 34 26 7
+ − f 26 34 27
+ − f 8 27 34
+ − f 27 3 26
+ − f 35 28 8
+ − f 28 35 29
+ − f 9 29 35
+ − f 29 4 28
+ − f 36 30 9
+ − f 30 36 31
+ − f 10 31 36
+ − f 31 5 30
+ − f 37 32 10
+ − f 32 37 23
+ − f 11 23 37
+ − f 23 6 32
+ − f 39 7 33
+ − f 33 38 39
+ − f 12 39 38
+ − f 38 33 11
+ − f 40 8 34
+ − f 34 39 40
+ − f 12 40 39
+ − f 39 34 7
+ − f 41 9 35
+ − f 35 40 41
+ − f 12 41 40
+ − f 40 35 8
+ − f 42 10 36
+ − f 36 41 42
+ − f 12 42 41
+ − f 41 36 9
+ − f 38 11 37
+ − f 37 42 38
+ − f 12 38 42
+ − f 42 37 10