Ios Cocos2d绘图点

Ios Cocos2d绘图点,ios,opengl-es,cocos2d-iphone,Ios,Opengl Es,Cocos2d Iphone,我是OpenGLES新手,尝试绘制点,但没有结果,这是我的绘制方法 -(void) draw { [super draw]; if(!isBackgroundInited) { glDisable(GL_TEXTURE_2D); glEnable(GL_POINTS); ccDrawColor4B(100,100,100,255); ccPointSize(2); [self drawDot

我是OpenGLES新手,尝试绘制点,但没有结果,这是我的绘制方法

-(void) draw
{
    [super draw];
    if(!isBackgroundInited)
    {
         glDisable(GL_TEXTURE_2D);
        glEnable(GL_POINTS);
        ccDrawColor4B(100,100,100,255);
        ccPointSize(2);
        [self drawDots];
        isBackgroundInited=YES;
        glDisable(GL_POINTS);
         glEnable(GL_TEXTURE_2D);
    }

}

-(void) drawDots
{

    CGSize activeArea=CGSizeMake(winSize.width-2*margin, winSize.height-2*margin);
    float xMargin=activeArea.width/dotsCount;
    float yMargin=activeArea.height/dotsCount;
    float yPosition=margin;
    for(int i =0;i<10;i++)
    {
        float xPosition=margin;
        for (int j=0;j<10;j++)
        {
            ccDrawPoint(CGPointMake(xPosition, yPosition));
            xPosition+=xMargin;
        }
        yPosition+=yMargin;
    }
}
-(无效)绘图
{
[超级抽签];
如果(!IsBackgroundInit)
{
glDisable(GL_纹理_2D);
glEnable(GL_点);
CC4B(10055);
ccPointSize(2);
[自我描述];
isBackgroundInited=是;
glDisable(GLU点);
glEnable(GL_纹理_2D);
}
}
-(空)画点
{
CGSize activeArea=CGSizeMake(winSize.width-2*边距,winSize.height-2*边距);
float xMargin=activeArea.width/dotscont;
float yMargin=activeArea.height/dotscont;
浮动位置=保证金;

对于(int i=0;i您仅在第一帧上绘制点。删除
isBackgroundInited
ivar,屏幕上应该会显示内容


OpenGL在每一帧都会清除帧缓冲区,这是游戏的惯常做法,因此每一帧都需要重新绘制屏幕的全部内容。

是否有任何技术可以加速该过程或防止该行为?或者将帧缓冲区推到帧缓冲区,并将其用于其他帧?您可以将其渲染到渲染纹理,然后使用纹理是的。虽然这样,纹理将在每一帧渲染到帧缓冲区。性能上的差异(如果有的话)将是微乎其微的。