메뉴 건너뛰기

app

[xcode] openGL을 이용한 계단 그리기

박영식2009.11.16 18:46조회 수 7229댓글 4

  • 5
    • 글자 크기


- (void)draw 

{


glLoadIdentity();


glClearColor(1.0f, 1.0f, 1.0f, 1.0f);

glClear(GL_COLOR_BUFFER_BIT);

CGColorRef color = currentColor.CGColor;

const CGFloat *components = CGColorGetComponents(color);

CGFloat red = components[0];

CGFloat green = components[1];

CGFloat blue = components[2];

glColor4f(red,green, blue, 1.0);

switch (shapeType) {

case kLineShape: {

if (sprite){

[sprite release];

self.sprite = nil;

}

GLfloat vertices[6];

// Convert coordinates

vertices[0] = 60.000000;//firstTouch.x;

vertices[1] = 150.000000;//self.frame.size.height - firstTouch.y;

vertices[2] = 60.000000;//lastTouch.x;

vertices[3] = 300.000000;//self.frame.size.height - lastTouch.y;

vertices[4] = 300.000000;

vertices[5] = 300.000000;

glLineWidth(2.0);

glVertexPointer (2, GL_FLOAT , 0, vertices);

glDrawArrays (GL_LINE_STRIP, 0, 3);

break;

}

case kRectShape:{

if (sprite){

[sprite release];

self.sprite = nil;

}

// Calculate bounding rect and store in vertices

GLfloat vertices[10];

vertices[0] = 50;

vertices[1] = 150;

vertices[2] = 50;

vertices[3] = 200;

vertices[4] = 100;

vertices[5] = 200;

vertices[6] = 100;

vertices[7] = 250;

vertices[8] = 150;

vertices[9] = 250;

glVertexPointer (2, GL_FLOAT , 0, vertices);

glDrawArrays (GL_LINE_STRIP, 0, 5);

break;

}

case kEllipseShape: {

if (sprite){

[sprite release];

self.sprite = nil;

}

// Calculate bounding rect and store in vertices

GLfloat vertices[14];

vertices[0] = 50;

vertices[1] = 150;

vertices[2] = 50;

vertices[3] = 200;

vertices[4] = 100;

vertices[5] = 200;

vertices[6] = 100;

vertices[7] = 250;

vertices[8] = 150;

vertices[9] = 250;

vertices[10] = 150;

vertices[11] = 300;

vertices[12] = 200;

vertices[13] = 300;

glVertexPointer (2, GL_FLOAT , 0, vertices);

glDrawArrays (GL_LINE_STRIP, 0, 7);

break;

}

case kImageShape:

if (sprite == nil) {

[sprite release];

self.sprite = nil;

}

// Calculate bounding rect and store in vertices

GLfloat vertices[18];

vertices[0] = 50;

vertices[1] = 150;

vertices[2] = 50;

vertices[3] = 200;

vertices[4] = 100;

vertices[5] = 200;

vertices[6] = 100;

vertices[7] = 250;

vertices[8] = 150;

vertices[9] = 250;

vertices[10] = 150;

vertices[11] = 300;

vertices[12] = 200;

vertices[13] = 300;

vertices[14] = 200;

vertices[15] = 350;

vertices[16] = 250;

vertices[17] = 350;

glVertexPointer (2, GL_FLOAT , 0, vertices);

glDrawArrays (GL_LINE_STRIP, 0, 9);

break;

}

glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);

[context presentRenderbuffer:GL_RENDERBUFFER_OES];

}

박영식 (비회원)
  • 5
    • 글자 크기
[jsp] 한글 인코딩 처리 (by 박영식) [xcode] 한글 사용하기 NSUTF8StringEncoding (by 박영식)

댓글 달기

댓글 4
박영식
2010.09.09 조회 4796
박영식
2010.05.25 조회 4102
박영식
2010.01.14 조회 4971
박영식
2009.09.21 조회 4147
박영식
2008.08.18 조회 6064
박영식
2008.08.17 조회 4194
박영식
2008.07.24 조회 4623
박영식
2008.07.23 조회 8003
박영식
2008.07.22 조회 3352
박영식
2008.04.11 조회 2199
박영식
2008.01.20 조회 2041
박영식
2007.12.23 조회 3224
첨부 (5)
1st.jpg
33.6KB / Download 93
4th.jpg
31.6KB / Download 81
3rd.jpg
33.5KB / Download 86
GLfun.zip
541.3KB / Download 108
2nd.jpg
33.2KB / Download 82
위로