본문 바로가기

Programming/OpenGL

Understanding Coordiante Transformations 다른 기본적인 과정을 준비하느라 포스팅이 늦었네요 :) 저번 포스팅에서 부터 OpenGL의 아주 기본적인 요소들에 배우면서, 물체(라고 하기엔 좀 그런 간단한 것 들 이지만ㅋ)를 띄우고, 보는 것들을 했었죠. 하지만 아직 상호작용을 통한 과정이 없어 지루했을 거에요.(물론, 아주 처음 보는 사람들은 일단 띄웠다! 에 만족하실 수도 있구요ㅋ) 사용자에게 입력을 받는 것은 어려운 것이 아니에요. 이미 제공되는 함수들이 있으니까 사용하면 되는데, 그전에 어떠한 방식으로 물체나, 카메라, 화면의 디스플레이등을 조작 하는가를 알아야 실제 게임처럼 사용자와 상호작용을 할 수 있겠죠~ 그 기본적인 배경지식이 "coordinate transformations" 라는 거에요. 좌표계변환? 쯤으로 번역이 되려나….? @_.. 더보기
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뒤에 가져올 상태의 타입을 적어주고 두 번째 인자에 해당 타입의 포인터를 가져 오게 됩니다. 첫 번째.. 더보기
Basic OpenGL programming Full-Screen 시험 기간이라 공부겸 올리는 포스트가 늦어버렸군요! '-'!!(그렇다고 시험을 잘 본건 아니지만....) 이번에는 저번 코드를 바탕으로 전체화면 모드를 해보겠습니다. 그런대 결과를 보고 나니 좀 이상한게 많더라구요...ㅠㅠ 아직 잘 몰라서 그런걸 수도 있는데... 일단은 과정을 쓰고, 나아아아아아아중에 좀더 알게 되면 마저 추가 하려구요 :-] 잘 아시는 분 계시면 다른 참조사이트 알려주시거나 직접 알려주시면 매우 감사! 저번에까지는 윈도우를 생성하고, 그 안에 openGL 렌더링을 할 수 있는 거를 만들었었는데, 사실 그렇게 일일이 하나하나 코드를 넣는것은 제 성미가 아니고...(뭐 저뿐만은 아니겠지요..ㅋ) 일부 코드를 변수로 대체 하네요. 풀스크린 모드 플래그 윈도우 외형의 위치를 표시하는 부분 윈.. 더보기