The editor view can already be zoomed, so I’m not sure what you mean. Besides, you can do zooming with a
QTransform, you still don’t need a 4x4 matrix for this, which is only needed if you have 3D points.
And I’m used to see debug output also outside the IDE, but yeah on Windows this doesn’t work (it does if you compile it as a console application, but then it will always pop up a separate console output window). At least
qDebug() is a bit more convenient that
std::cout because it automatically puts spaces between the values you’re streaming in and it automatically quotes string values.
Well… I know to admit when I was totally wrong…And this is the case here…
1: My little head was believing there was no zoom… And I just found it in the app right under my nose. (Damn… I was sure it was not there… why.?)
2: Thinking through it, yes you’re right about the 4x4, guess this was a bit too obvious that I do need 3D points…
Usual behavior when on a new topic… read too much theory, and over engineer…
Thanks for the refocus here, that really help ramping up
You’re welcome. Don’t be too hard on yourself, you’re doing fine!
So back after a week of slow progress due to lack of time… but still progress… I want to solve those point before entering full dev stage in few months.
I did some experimentation and here is what I found:
Using a QTransform vector which I then apply to a CGPointF actually gives me some kind of perspective projection. lines are not ending up parallels lines which is the opposite of what I want. (I actually believe that this would not even make sense in Tiled). Not sure of the why but this gave me a bit of a cold shower
Still… I did some more experiments with matrix. Actually back to the theory book about transformation and projection.
Here is an interesting source: http://web.iitd.ac.in/~hegde/cad/lecture/L8_projections.pdf
Another point: I realized that currently in my 3D renderer I was rotating the camera instead of objects. I am now rotating the objects to be more inline with the implementation I’d like in Tiled.
anyway, for those interested of what I am trying to achieve, here is a quick and dirty rendering of what could be done if we were able to choose the angle manually:
Setting all angles to equals: Isometric
Setting differents angles: Trimetric:
Basically the same implementation should be able to do both; that’s only a matter of angle. After angle give better look or not depending of the taste…