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

Method drawCameraFrustum

tests/cpp-tests/Source/Camera3DTest/Camera3DTest.cpp:933–982  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

931}
932
933void CameraCullingDemo::drawCameraFrustum()
934{
935 _drawFrustum->clear();
936 auto size = Director::getInstance()->getWinSize();
937
938 Color4F color(1.f, 1.f, 0.f, 1);
939
940 // top-left
941 Vec3 tl_0, tl_1;
942 Vec3 src(0, 0, 0);
943 tl_0 = _cameraFirst->unproject(src);
944 src = Vec3(0, 0, 1);
945 tl_1 = _cameraFirst->unproject(src);
946
947 // top-right
948 Vec3 tr_0, tr_1;
949 src = Vec3(size.width, 0, 0);
950 tr_0 = _cameraFirst->unproject(src);
951 src = Vec3(size.width, 0, 1);
952 tr_1 = _cameraFirst->unproject(src);
953
954 // bottom-left
955 Vec3 bl_0, bl_1;
956 src = Vec3(0, size.height, 0);
957 bl_0 = _cameraFirst->unproject(src);
958 src = Vec3(0, size.height, 1);
959 bl_1 = _cameraFirst->unproject(src);
960
961 // bottom-right
962 Vec3 br_0, br_1;
963 src = Vec3(size.width, size.height, 0);
964 br_0 = _cameraFirst->unproject(src);
965 src = Vec3(size.width, size.height, 1);
966 br_1 = _cameraFirst->unproject(src);
967
968 _drawFrustum->drawLine(tl_0, tl_1, color);
969 _drawFrustum->drawLine(tr_0, tr_1, color);
970 _drawFrustum->drawLine(bl_0, bl_1, color);
971 _drawFrustum->drawLine(br_0, br_1, color);
972
973 _drawFrustum->drawLine(tl_0, tr_0, color);
974 _drawFrustum->drawLine(tr_0, br_0, color);
975 _drawFrustum->drawLine(br_0, bl_0, color);
976 _drawFrustum->drawLine(bl_0, tl_0, color);
977
978 _drawFrustum->drawLine(tl_1, tr_1, color);
979 _drawFrustum->drawLine(tr_1, br_1, color);
980 _drawFrustum->drawLine(br_1, bl_1, color);
981 _drawFrustum->drawLine(bl_1, tl_1, color);
982}
983
984////////////////////////////////////////////////////////////
985// CameraArcBallDemo

Callers

nothing calls this directly

Calls 5

getInstanceFunction · 0.85
Vec3Function · 0.50
clearMethod · 0.45
unprojectMethod · 0.45
drawLineMethod · 0.45

Tested by

no test coverage detected