[openGL] offset



광고 한번만 클릭 부탁드립니다^^
위에 냐옹이 말구~ 위에 배너요~^_^/ 


포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject [openGL] offset

최종수정일 : 2011.08.09

안녕하세요~^^
OpenGL 을 사용하면서 offset 라는 것을 사용해보았습니다.
간단히 간단히 신속하게 정리합시다! 


by 퓨림노

글을 작성하겠습니다.

순서를 까먹으니 목차부터!
1. offset 란?
2. 왜하는가?
3. 어떻게 하는가?
4. 간단한 예제는 어떠한가?
5. 결과는 어떠한가?
6. Reference
라는순서대로 작성하겠습니다. 물론 틀릴지 맞을지는 모르지만.  

1. Polygon Offset 란?

같은 z-order를 갖는 polygon 중 어느 한쪽이 다른 쪽 위에 나타나야 할 필요가 있을 때, 한 쪽을 다른 쪽보다 '조금 앞으로 오도록' 할 수 있다. 이를 polygon offset이라고 하는데, OpenGL에서는

 void glPolygonOffset(GLfloat factor, GLfloat units); 

함수를 통해 polygon offset 를 사용할 수 있다.  

[출처] glPolygonOffset|작성자 상상공작



2. 왜하는가?

왜 하는가에 대해서 좀 이야기를 해봅시다. 
그냥 OpenGL 에서 Polygon 을 그리게 되면 Stitching 현상이 발생하게 된다. 
이를 Polygon Offset 를 함으로써 아래의 그림과 같이 된다. 
책을 조금 더 살펴보자면, 레스터화 시킨다. 라는 말이나온다. 
이론정리는 머리속으로만! 
인터넷을 아무리 찾아보더라두! 그래도 책은 찾아봐야겠죠? ㅎ
책 찾아봅시다~^^ (정리하기 정말 귀찮아서 그런거 아니에요 ㅎ)


Stitching 현상 발생  /  Polygon Offset 으로 보정
 
 다른 예제를 살펴보겠습니다. 


원하는 결과!! / Stitching 현상 발생 

참고 : Stitching 단어 뜻  ( URL : http://endic.naver.com/enkrEntry.nhn?entryId=2d61d3d7dee24e93bcc8412f1c4d0e84&query=stitching)
- 한줄로 이어진 바늘 땀 
 ( 뭐 물론 다들 알고 있을 듯한 단어겠지만, 그냥 정리해두었습니다. )



3. 어떻게 하는가?
- 요거는 찾아보니, 간단하게 많이 있었습니다. 

OpenGL 을 저보다 많이 안다고 생각하고( 전 모르겠습니다. 라는 의미. )


glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(1.0, 1.0);
glCallList(list);
glDisable(GL_POLYGON_OFFSET_FILL);
 
glDisable(GL_LIGHTING);
glDisable(GL_LIGHT0);
glColor3f(1.0, 1.0, 1.0);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glCallList(list);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

이렇게 되어있는데 이유는 잘모르겠습니다. -_-; 내용도 제대로 안읽어보아서...
단지, 먼저 
1. 폴리곤 그리기전에 Offset fill 로 설정
2. Draw polygon
3. 폴리곤 offset fill 해제

4. glPolygonMode 설정
5. line 그리기
6. glPolygonMode 제 설정

순서대로 ... 



간단한 예제는 어디에???
URLhttp://www.zeuscmd.com/tutorials/opengl/15-PolygonOffset.php 를 살펴보자. 
포스팅이 정말 잘되어있다. 
소스는 혹시나~

파일 업로드가 안되서 링크로...링크 깨지면 난 몰라라~~~
우띠~ 왜 이미지 맨날 경로 틀어지는거지????


Reference
[1] his n That ( http://etstnt.egloos.com/5170827 )
     - OpenGL 의 offset 에 대해서 정리가 되어있다. 영문으로 되어 있으며 한번씩 읽어보길 바라는 맘입니다.  
[2] Wiki fracktal ( http://wiki.fracktal.kr/doku.php?id=%EC%88%98%EC%97%85%3Aopengl%3A%ED%8F%B4%EB%A6%AC%EA%B3%A4_%EC%98%A4%ED%94%84%EC%85%8B )
     - 위키 처럼 정리가 되어있다. 뭐 읽어봐두 정확히 잘 모르겠다. 그냥 해보면서 아는거겠지란 생각! 그래도 잠조해서 보도록 하자. 

[3] 
ZEUShttp://www.zeuscmd.com/tutorials/opengl/15-PolygonOffset.php )
     - Polygon Offset 에 대한 영문설명이 적혀 있다. 그리고 여기에 예제소스가 있다.  돌려보면 모른다. 설명을 읽어보아야 안다. 꼭 읽어보자.   

 [4] 상상공작소 (http://blog.naver.com/softcool?Redirect=Log&logNo=100013289689 )
     - openGL 의 polygon offset 의 간단한 설명, ( 들어가지 않아도 제가 위에 설명 해두었습니다. )

[5] 정리하기 힘들어서 링크만!

http://wiki.fracktal.kr/doku.php?-id=%EC%88%98%EC%97%85%3Aopengl%3A%EC%95%88%ED%8B%B0%EC%95%A8%EB%A6%AC%EC%96%B4%EC%8B%B1

http://wiki.fracktal.kr/doku.php?id=%EC%88%98%EC%97%85%3Aopengl%3A%ED%8F%B4%EB%A6%AC%EA%B3%A4_%EC%98%A4%ED%94%84%EC%85%8B

http://www.allegro.cc/forums/thread/590317 
http://profs.sci.univr.it/~colombar/html_openGL_tutorial/en/06depth_014.html
http://diehard98.tistory.com/127 
http://cafe.naver.com/corea9.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=314& 
http://blog.naver.com/philipousys?Redirect=Log&logNo=130083922003


'Library > openGL' 카테고리의 다른 글

[OpenGL] OpenGL Study 2 일차  (0) 2011.08.09
[OpenGL] OpenGL Study 1 일차  (0) 2011.08.09
[OpenGL] OpenGL Study 0 일차  (0) 2011.08.09
[OpenGL] OpenGL Study 0 일차  (0) 2011.08.08
[OpenGL] OpenGL Study 0 일차  (0) 2011.08.08

댓글

Designed by JB FACTORY