it is still in fixed point. 24:8 with 24 part =0, and 8 part as fractional part of 1.
it is the maximum i can use to do 32 bits fixed point for 3D.
with 16:16, i will be limited to 65536 3Dpitch depth. what is like just smaller than the 'incal.inc' model. then, not good at all cause we'll never see the stars. or maybe do a 16:16 for near, and 24:8 for far. hem... no, floating point for everybody.
i will make it floating point. it is the only good way to do 3D computations.
using the floatting point, even if limited in resolution, will let play with really huge scenes.
32bits fp will be enough for the begining. using sse would improve a lot performance. especially when it will do matrix based 3D tranforms.
cause for now, there are no matrix for the 3D transform, just 2 vectors. translation, and rotation, and only the translation here is reccursive.
that's why objects cannot rotate. only the camera rotation is taken in account.
about this rotation, i think a rotate container will be an acceptable solution.
then, to rotate an object, just use a rot3D, like put3D tranlate.
the rot3D function is still there, but it don't works as wanted.
in this model, the nested transforms are simple.
in theory, add the angles components of the item and the camera. then, use this angle to rotate the translation component of the item, before to add it to the camera position. and it should work.
but don't wor, when i tryed it, the object effectivelly rotates, but in another dimension. lol. it is just a mistake, one day, it will work, maybe with the first digit based version number .
thanks all.