본문 바로가기

셀프졸업여행-전국일주_Intro 더보기
OpenGL primitives_2 저번 포스팅에 이은 글이므로 설명 또한 다소 이어질 수 있으므로 참고 하세요 OpenGL primitives_1 Drawing Polygons in 3D(3차원상에 폴리곤 그리기) 앞서 우리는 기본적으로 점과 선을 그리는 방법에 대해서 알아 봤습니다. 하지만 폴리곤으로 만드는 것이 더욱 강력한 3차원 세계를 만들 수 있다는 것에는 의심의 여지가 없습니다. 폴리곤이 뭔지 짚고 넘어가야 겠죠? 폴리곤은 다각형을 의미합니다. "면"이 존재해야 하는 것이죠. 보통은 삼각형이지만 경우에 따라선 사각형과 오각형 또한 나올 수 있지만 이 역시 삼각형으로 부터 만드는게 가능하죠. 아래 처럼~ glBegin(..)의 인자 중에서 이러한 폴리곤을 만드는 인자들이 있었죠. GL_TRIANGLES// Single triang.. 더보기
OpenGL primitives_1 일단, Primitives 가 뭔지 알아야 겠죠? :-D 사전적인 의미는 찾아보시면 아시겠지만, (물건 따위가 덜 발달하고 불편하여) 원시적인 (참조 : 네이버 사전ㅋ) 이란 의미를 가지고 있어요. 서적에서 얘기하는 예시는 "덜 사회적인 사람(an unsophisticated person)" (음???????) 이라고 하는데... 뭔 소리인지는 잘 모르겠어요 :-D(외쿸문화란...ㅋ) 간단히 얘기하면 가장 근본이 되는 것들 입니다. 우리는 OpenGL을 이용해서 그럴싸한 뭔가를 그리려고 하는 것이잖아요? 그린다의 가장 기본은 뭘까요? 점 이겠죠? :-D 그 점이 이어진 것이 선 이겠고, 그 선들이 이어진 게 면, 그 면들이 이어지면 부피가 있는 물체가 될 것이고~ 가장 기본적인 것들을 그려주는 겁니다. .. 더보기
OpenGL states 이제 아주 기본적인 이론들을 끝내고 본격적으로 OpenGL을 다루는 시간이 왔네요.(서적에서는 "To begin to unlock the power of Open GL"이라고 언급 하는 군요 :-D) OpenGL이라 함은 상태기계(state machine)이라고도 불리는데, 다양한 상태를 이용해서 다른 모습을 볼 수 있습니다. 그럼, 어떠한 "상태" 라는 것만 존재한다면 그걸 이용 할 수 있어야 겠죠? 현재 어떠한 상태인지 가져오는 것과 상태를 다시 설정 해주는 것이 필요 할 것 입니다. 가져오는 것은 게터 함수(getter function)으로 할 수 있습니다. 함수의 사용은 아래와 같습니다. glGet뒤에 가져올 상태의 타입을 적어주고 두 번째 인자에 해당 타입의 포인터를 가져 오게 됩니다. 첫 번째.. 더보기
텍스쳐 바르기(Texture Mapping) 직역이 참 맛갈나게(음??!) 됐네요:-D 보통은 그냥 텍스쳐 매핑이라고 얘기 한답니다. 3차원 상에서 물체는 수많은 점들의 정보로 이루어 지는 건 앞서 설명 했으니까 알고 있겠죠?ㅎ 그런데 그것만 가지고는 우리가 게임에서 봐오던 예쁜 물체들을 볼 순 없겠죠T^T 그래서 그 위에 보기 좋은 그림을 덧 입힙니다. 예를 들자면, 렌즈를 끼는 거죠. 어떤 렌즈를 끼느냐에 따라 내 눈은 달라 보이겠죠? 더불어 얼굴상 전체가~ 그런데 이 매핑이라는걸 대충 하면 안되겠죠? 도수가 있는 렌즈라면 초점도 안 맞을 테고 보는 이로 하여금 이상해 보일테고... 물체와 텍스쳐의 좌표를 맞춰주는 것이 매핑 하는 거죠. 3D 상에서의 한 면과 텍스쳐의 그림을 좌표 평면에 나타내면 다음과 같이 나타낼 수 있습니다. 그럼 이것을 .. 더보기