Hi,
I want to convert mouse point on window to a point in box2D engine and I don’t have those magic numbers to convert x and y regardless of screen resolution.
I’m using windows calls to get mouse input and opengl to draw stuff.
So box2d has this function ConvertScreenToWorld but i dont want to use GLUT to get those magic numbers…
For me the closest aproximation looks like this
b2Vec2 ConvertScreenToWorld(int32 x, int32 y)
{
float32 u = -x / 10.0;
float32 v = y / 10.0;
u+= GLwidth /20;
v-= GLheight/20;
u *= cameradistance/72.5;//for default opengl frustrum
v *= cameradistance/72.5;
b2Vec2 p(u,v);
return p;
}
Its for default settings of openGL and 800x600 res.
Does OpenGL have something to help me with this or do i need to guess numebers for every resolution to transform point from screen?
Can glFrustum or projection matrix be helpfull?
plz don’t send to box2d forum