#include <nnsys/g3d/util.h> int NNS_G3dScrPosToWorldLine( int px, int py, VecFx32* pNear, VecFx32* pFar );
| px | Pointer to the x coordinate on the screen |
| py | Pointer to the y coordinate on the screen |
| pNear | Point of the world coordinate position on the near clip plane corresponding to the coordinate position on the screen |
| pFar | Point of the world coordinate position on the far clip plane corresponding to the coordinate position on the screen |
Returns 0 if *px and *py are inside the viewport. Returns -1 if they are outside of the viewport.
Returns the point on the near clip plane and the far clip plane corresponding to the position on the screen as a world coordinate. When pFar is NULL, the calculation of the point on the far clip plane is abbreviated.The camera matrix and the projection matrix must be configured in the NNS_G3dGlb structure. Even if the return value is -1, the value is stored in *pNear and *pFar can be used as a directional guide. For perspective projections, the margin of error for the *pFar value will be larger when compared with *pNear. This is because the far clip plane is bigger than the near clip plane, so when looking for the original point from the normalized screen coordinate point, the far plane is enlarged. When applying a horizontal offset to the 3D screen by using the Nitro-SDK G3X_SetHOffset function, only the offset portion of the x coordinate argument needs to be moved in advance.
NNS_G3dLocalOriginToScrPos, NNS_G3dWorldPosToScrPos
11/01/2004 Initial version.