X, Y and Z position bug in absolute

BlitzMax Forums/MiniB3D Module/X, Y and Z position bug in absolute

Bobysait(Posted 2014) [#1]
I Don't know if it's been reported yet but the "EntityX/Y/Z(true)" (while and entity is a child of another) does not return the good value

Actually, as I finished my own blitzmax 3D engine, I wanted to compare the two engines (performance and precision accuracy) and I realised two major things (about entity) :
- miniB3d uses the invert matrix to compute relative position/scale/rotation but use a slow method for TFormPoint/Vector.


if could (should) be replaced with a more direct computation.

- the second point I noticed is that lots of calculs does not return the same results as Blitz3D. (mine does ... I made it in this way)

So, of course, I can't compare the engines at this state as minib3d is not fully functionnal, but anyway, what matters now is that minib3d needs a fix on the "X", "Y" and "Z" coordinates.

Where I'm sure it's a bug and not a matter of different axis is :

p1 = CreatePivot()
position scale and rotate p1 randomly
p2 = createpivot(p1)
position scale and rotate p2 randomly in absolute

let's say positionentity p2, 0.0,-5.2,14.5

EntityY(p2,true) and EntityZ(p2,true) does not return -5.2 and 14.5.



my results :
p1
-49.9910088, -9.45895767, 37.1822815
-49.9910088, -9.45895767, 37.1822815

p2
40.4846954, -31.1590710, 9.79907608
40.5032539, -29.9750633, 8.96056747