김형준 GIS 연구소 (for Developers)  
Front Page
Notice | E-Mail | Admin | Write Article   
 
2005/05/03 15:14 2005/05/03 15:14
[OpenGL Tutorial] Color

사용자 삽입 이미지
이번 장에서는 색에 대해서 알아보도록하자. 색을 지정하는 윈도우즈 API로 RGB함수가 있다. 인자를 3개 받는데 각각 빨간색, 녹색, 파란색을 갖으며 0~255사이의 값을 갖는다. OpenGL도 마찬가지인데 조금 다른 것은 이 3개의 인자로 실수형, 정수형, 배열형 등 다양하게 취한다는 것이다. 이때 주목해야 할것은 실수형일때와 정수형일때 각 값이 갖을수있는 범위이다. 실수형에 있어서는 0~1.0사이의 값을 갖으며 정수형은 우리가 알고 있는 0~255 사이의 값을 갖는다. 또한 배열을 인자로 받는 경우 그 배열의 각 셀은 빨간색, 녹색, 파란색의 값을 갖는다. OpenGL은 이 3개의 색상값 말고도 하나의 값을 더 갖는 경우가 있는데 이것은 바로 알파(Alpha) 값이다. Alpha값은 투명도라는 특성값이다. 이장에서 Alpha에 대한 설명은 하지 않겠다. 지금까지의 설명이 색에 대한 것들의 대부분이다. 이제 실제 코딩을 통해 익혀보자. 우리는 정육면체를 생성하고 각면에 서로 다른 색을 지정해 보는 것으로 이장을 마칠까한다.

우리가 사용할 코드는 1장의 소스코드에서 시작한다.

먼저 전역 변수를 하나 선언해야 한다. 물체를 지속적으로 회전시키는데 사용하는 변수이다. 소스 코드의 전역변수를 선언하는 곳에 아래의 코드를 추가하자.

이제 물체를 그리고 각면에 서로 다른 색을 입히는 코드를 만들어보자. 물체를 그려주는 코드이므로 DrawGLScene 함수서 코딩을 해주면 된다. 다음은 그 내용이다.

위 코드에서 중요한 것은 색을 지정하는 방법이다. 일단 색이 한번 지정되면 그 이후로 만들어지는 모든 물체에 대해서 그 색이 반영이 된다. GL_QUADS으로써 면을 생성하는데 면의 생성에 앞서 색을 지정해주면 그 면에 지정된 색이 칠해지게 된다. 그런데 약간 다른 것이 하나 있는데 그것은 6번째 면에 대한 색의 지정이다. 색의 지정을 각 점을 지정할때 마다 해주었는데 이것의 효과는 한 점에서 지정된 색과 다른 한점에서 지정된 색으로 두 점 사이로 부드러운 색변화로써 색을 지정하는 것이다. 즉 우리가 많이 보는 그라이디언트로 색이 지정되는 것이다.

이제 실행해보자. 아래는 그 실행 결과이다.

사용자 삽입 이미지

실제로 6면에 대해서 다른 면과는 다른 모습으로 색이 칠해졌음을 알수있다.

이로써 색에 대한 것들을 마친다.


Tag :
Track this back : http://www.gisdeveloper.co.kr/trackback/426
Commented by 레기아 at 2008/12/03 17:31  r x
고마운 강의 감사히 잘 들었습니다 ^^*
Commented by 김형준 at 2008/12/03 21:59  r x
네, 저도 감사합니다~ ^^*
Commented by Kwon at 2009/01/03 12:20  r x
잘 읽었습니다.
Commented by 김형준 at 2009/01/05 08:59  r x
Kwon님, 매번 댓글 감사드립니다~ ^^
Commented by 개똥아빠 at 2009/02/26 10:32  r x
감사합니다. 너무 많은 도움이 됩니다.
Commented by 김형준 at 2009/02/26 11:01  r x
댓글이 감사합니다~ ^^
Commented by personar at 2009/03/23 10:23  r x
매일 하나씩 공부하고 있습니다. 벌써 Color까지 왔네요. 앞으로도 잘 부탁드립니다.
감사합니다. ^^
Commented by 김형준(Dip2K) at 2009/03/23 11:10  r x
넵~ ^^ 댓글 감사합니다~ 화이팅입니다~
Commented by 우주인 at 2009/04/06 15:24  r x
너무너무 도움이 되요!!! 친절한 설명 정말 감사드립니다~~
Commented by 김형준 at 2009/04/06 18:35  r x
우주인님, 댓글 감사드립니다~ ^^
Commented by sokkuma at 2009/11/12 16:24  r x
감사합니다 ^^
Commented by 오픈초보.. at 2011/04/29 22:53  r x
안녕하세요^^
이 사이트덕분에 opengl을 조금이나마 알게되서 행복한 학생입니다!

지금 처음강의부터 차례차례 왔는데요!
혹시 color를 입힐때 윤곽선에도 색을 줄 수 있는 방법이 있나요?ㅜㅜ
너무 초보적인 질문이지만 답변부탁드립니다!ㅜㅜ
Commented by 세모랑 at 2011/12/26 10:14  r x
할수록 재미있네요...^^ 응용하기도 쉽게 해주시고..

name    password    homepage
 hidden
BLOG main image
 Notice
DuraMap-Xr 소개 및 다운로드
[오픈소스] SimpleSHP v0.1
FingerEyes-Xr 소개 및 다운로드
OpenGL Tutorials
 Category
전체 (531)
GIS 개발 (146)
프로그래밍 (233)
스치는 생각들 (129)
번역 또는 집필 (3)
 TAGS
GIS Xr OpenGL Shader FingerEyes BlackPoint Algorithm Java Map Engine WPF
 Calendar
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
 Recent Entries
[FingerEyes] 지오메트리...
[FingerEyes] Geometry로...
[FingerEyes] FID 리스트...
[FingerEyes] UPDATE, INS...
영화, "부러진 화살"
 Recent Comments
메일로 답변드렸습니다....
김형준 - 02/01
txt파일을 엑셀로 변환하...
최상준 - 02/01
코봉히님두 새해 복 많이...
김형준 - 01/25
아 너무 감사합니다. 새해...
코봉히 - 01/23
wkb는 http://www.gisdeve...
김형준(Dip2K) - 01/23
wkb의 구조가 shp파일의...
코봉히 - 01/20
wkb는 바이너리인지라.....
김형준(Dip2K) - 01/20
정말 좋은 정보 감사합니...
코봉히 - 01/20
은빛소나기님의 블로그를...
김형준 - 01/20
네, 빨간색으로 표시되는...
김형준 - 01/20
 Archive
2012/02
2012/01
2011/12
2011/11
2011/10
2011/09
2011/08
2011/07
2011/06
2011/05
2011/04
2011/03
 Link Site
Adobe Flex 3 Help
Cartograph 2.0
GADM
GIS 위키디피아
GIS 프로그래밍 연구소
MapTools.org
OGC
OGRE3D
OSGeo 한국 지부
Paul Bourke Site
Wikipedia
국가수자원관리 정보시스템
국립지리원
국토연구원
국토해양부
네이버 과학
대한측량협회
류광님의 블로그
이민파님의 공간분석과 리...
지오서비스(GeoService)
 Visitor Statistics
Total : 928700
Today : 179
Yesterday : 317
태터툴즈 배너
rss