cocos2dのglDrawArrayメソッドで全画面サイズのシンプルな正方形を描画したい。Retina を無効にすると、すべてが期待どおりに描画されますが、有効にすると、すべてが本来の半分の大きさになります。(glDrawArrayの座標系はポイントではなくピクセルのようです)
他の描画関数は期待どおりに機能しますが、複雑な形状を描画しているため、glDrawArray を使用する必要があります。
これを解決する方法はありますか?
-(void) draw
{
CGPoint box[4];
CGPoint boxTex[4];
CGSize winSize = [[CCDirector sharedDirector] winSize];
//float boxSize = winSize.width;
box[0] = ccp(0,winSize.height); // top left
box[1] = ccp(0,0); // bottom left
box[2] = ccp(winSize.width,winSize.height);
box[3] = ccp(winSize.width,0);
boxTex[0] = ccp(0,1);
boxTex[1] = ccp(0,0);
boxTex[2] = ccp(1,1);
boxTex[3] = ccp(1,0);
// texture backround
glBindTexture(GL_TEXTURE_2D, self.sprite.texture.name);
glVertexPointer(2, GL_FLOAT, 0, box);
glTexCoordPointer(2, GL_FLOAT, 0, boxTex);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
}