MCPcopy Create free account
hub / github.com/axmolengine/axmol / unproject

Method unproject

tests/cpp-tests/Source/MeshRendererTest/MeshRendererTest.cpp:1762–1783  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1760 return;
1761}
1762void MeshRendererWithOBBPerformanceTest::unproject(const Mat4& viewProjection, const Size* viewport, Vec3* src, Vec3* dst)
1763{
1764 assert(dst);
1765
1766 assert(viewport->width != 0.0f && viewport->height != 0.0f);
1767 Vec4 screen(src->x / viewport->width, ((viewport->height - src->y)) / viewport->height, src->z, 1.0f);
1768
1769 screen.x = screen.x * 2.0f - 1.0f;
1770 screen.y = screen.y * 2.0f - 1.0f;
1771 screen.z = screen.z * 2.0f - 1.0f;
1772
1773 viewProjection.getInversed().transformVector(screen, &screen);
1774
1775 if (screen.w != 0.0f)
1776 {
1777 screen.x /= screen.w;
1778 screen.y /= screen.w;
1779 screen.z /= screen.w;
1780 }
1781
1782 dst->set(screen.x, screen.y, screen.z);
1783}
1784
1785void MeshRendererWithOBBPerformanceTest::calculateRayByLocationInView(Ray* ray, const Vec2& location)
1786{

Callers 8

onTouchesEndMethod · 0.45
onTouchesEndedMethod · 0.45
onTouchesEndedMethod · 0.45
onTouchesBeganMethod · 0.45
onTouchesMovedMethod · 0.45
onTouchesEndedMethod · 0.45
drawCameraFrustumMethod · 0.45
touchesEndedMethod · 0.45

Calls 3

transformVectorMethod · 0.80
getInversedMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected