使用iphonesdk绘制单个像素
我一直在想如何在iPhone上制作一款粉末玩具风格的游戏。我的问题是如何在屏幕上绘制像素。据我所知,OpenGL更适合于游戏,因为它更快/硬件加速,但没有直接在屏幕上绘制像素的方法。显然,将像素绘制到屏幕外的帧缓冲区是一种方法,但是如何将其传递给OpenGL呢?我使用纹理吗 (这是假设我之前没有iPhone图形编程方面的知识)使用iphonesdk绘制单个像素,iphone,objective-c,opengl-es,Iphone,Objective C,Opengl Es,我一直在想如何在iPhone上制作一款粉末玩具风格的游戏。我的问题是如何在屏幕上绘制像素。据我所知,OpenGL更适合于游戏,因为它更快/硬件加速,但没有直接在屏幕上绘制像素的方法。显然,将像素绘制到屏幕外的帧缓冲区是一种方法,但是如何将其传递给OpenGL呢?我使用纹理吗 (这是假设我之前没有iPhone图形编程方面的知识) 谢谢 通常在OpenGL中绘制基本体和多边形。如果需要绘制位图,则需要为多边形应用纹理 查看基于OpenGL的2D游戏的cocos2d iphone引擎 如果您仍然需要绘
谢谢 通常在OpenGL中绘制基本体和多边形。如果需要绘制位图,则需要为多边形应用纹理 查看基于OpenGL的2D游戏的cocos2d iphone引擎 如果您仍然需要绘制像素,这里有一种从cocos2d绘制线的方法:
void ccDrawLine( CGPoint origin, CGPoint destination )
{
CGPoint vertices[2];
vertices[0] = origin;
vertices[1] = destination;
// Default GL states: GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
// Needed states: GL_VERTEX_ARRAY,
// Unneeded states: GL_TEXTURE_2D, GL_TEXTURE_COORD_ARRAY, GL_COLOR_ARRAY
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawArrays(GL_LINES, 0, 2);
// restore default state
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable(GL_TEXTURE_2D);
}