1
3D 점 위에 텍스트를 그려야합니다. 텍스트 요청 2D는 rect x y x1 y1어떻게 3D 포인트 위에 텍스트를 그립니까?
irrlight 엔진을 사용합니다. 하지만 공식이 필요합니다.
i have:
core::vector3df point;
core::rect<s32> viewport = driver->getViewPort();
core::matrix4 matProj = driver->getTransform(video::ETS_PROJECTION);
core::matrix4 matView = driver->getTransform(video::ETS_VIEW);
core::matrix4 matWorld = driver->getTransform(video::ETS_WORLD);
core::quaternion point_qua(point.X ,point.Y , point.Z , 1);
// formula
point_qua = point_qua*(matWorld*matView*matProj);
std::cout << "\nX=" << point_qua.X;
std::cout << "\nY=" << point_qua.Y;
그러나 x 및 y 좌표는 올바르지 않습니다. 그들은 나를 부정적인 y. 그리고 왼쪽 상단 텍스트 그리기. 이 수식이 맞습니까?
나는 비꼬는 것으로 의미하지 않는다, 그러나 당신은 어떻게 포인트를 통해 뭔가를 그려 않습니다 (adimensional이라고 생각하는)? :) –
상자가 있습니다 - vector3d 8 점. 모든 8 점에 대해 이것을 계산 하시겠습니까? – manking