메뉴 건너뛰기

app

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

박영식2009.11.16 18:46조회 수 7225댓글 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 조회 4787
박영식
2010.05.25 조회 4090
박영식
2010.01.14 조회 4969
박영식
2009.09.21 조회 4146
박영식
2008.08.18 조회 6061
박영식
2008.08.17 조회 4192
박영식
2008.07.24 조회 4621
박영식
2008.07.23 조회 7998
박영식
2008.07.22 조회 3347
박영식
2008.04.11 조회 2198
박영식
2008.01.20 조회 2038
박영식
2007.12.23 조회 3222
첨부 (5)
1st.jpg
33.6KB / Download 90
4th.jpg
31.6KB / Download 78
3rd.jpg
33.5KB / Download 82
GLfun.zip
541.3KB / Download 104
2nd.jpg
33.2KB / Download 81
위로