To reproduce:
-
In HelloWorld override visit() metod;
-
add to HelloWorldScene.cpp
void HelloWorld::visit()
{
CCSize scissorSize = CCDirector::sharedDirector()->getWinSize();
CCRect scissorRect = CCRect(0, 0, scissorSize.width, scissorSize.height * 0.5f); //only the lower half of the screen is visiblekmGLPushMatrix(); glEnable(GL_SCISSOR_TEST); CCEGLView::sharedOpenGLView().setScissorInPoints(scissorRect.origin.x, scissorRect.origin.y, scissorRect.size.width, scissorRect.size.height); CCNode::visit(); glDisable(GL_SCISSOR_TEST); kmGLPopMatrix();
}
-
Run application
If Retina mode disabled - works fine, but if enable Retina only quarter of the screen is visible.
And if replace
-CCSize scissorSize = CCDirector::sharedDirector()->getWinSize();
+CCSize scissorSize = CCDirector::sharedDirector()->getWinSizeInPixels();
Working as expected