Пример #1
0
/// Convert a point from target coordinates to the view coordinates
Vec2f Window::convertCoords(const Vec2i &point, const View &view){
	// First, convert from viewport coordinates to homogeneous coordinates
	Vec2f coords;
	IntRect viewport = getViewport(view);
	coords.x = -1.f + 2.f * (point.x - viewport.left) / viewport.width;
	coords.y = 1.f  - 2.f * (point.y - viewport.top)  / viewport.height;

	// Then transform by the inverse of the view matrix
	return view.getInverseTransform().transformPoint(coords);
};
Пример #2
0
Vector2f RenderTarget::mapPixelToCoords(const Vector2i& point, const View& view) const
{
    // First, convert from viewport coordinates to homogeneous coordinates
    Vector2f normalized;
    IntRect viewport = getViewport(view);
    normalized.x = -1.f + 2.f * (point.x - viewport.left) / viewport.width;
    normalized.y =  1.f - 2.f * (point.y - viewport.top)  / viewport.height;

    // Then transform by the inverse of the view matrix
    return view.getInverseTransform().transformPoint(normalized);
}