Ios Cocos2d绘图点
我是OpenGLES新手,尝试绘制点,但没有结果,这是我的绘制方法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
-(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在每一帧都会清除帧缓冲区,这是游戏的惯常做法,因此每一帧都需要重新绘制屏幕的全部内容。是否有任何技术可以加速该过程或防止该行为?或者将帧缓冲区推到帧缓冲区,并将其用于其他帧?您可以将其渲染到渲染纹理,然后使用纹理是的。虽然这样,纹理将在每一帧渲染到帧缓冲区。性能上的差异(如果有的话)将是微乎其微的。