| 931 | } |
| 932 | |
| 933 | void 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 |
nothing calls this directly
no test coverage detected