본문 바로가기

OpenGL

Architecture my OpenGL engine core3 일단 가장 큰 자료의 마지막에 도달했어요. 이번 컨트롤 전반적인 설계를 포스팅 하고 난 후에는 구현을 하느라 몇 일 동안 포스팅은 어려울 듯 하지만, 그래도 최대한 후다닭 해보도록 노력해야죠 :) 컨트롤 설계 역시 일단 추상적인 생각부터 해야 겠죠. 장비(Device)와 입력(Input) 컨트롤은 임의의 장비(Device)로 부터 임의의 신호(Input)를 받아서 처리 해주는 거에요. 임의라는 말은 일반화 되어 있지 않은 추상 클래스로 만들어야 겠죠? 컨트롤의 입장에서는 여러 개의 Device들을 가질 수 있어요. 키보드, 마우스, 조이스틱, 카메라, ... 그것들은 모두 Device를 상속 받겠죠? 그럼 아래와 같은 설계를 생각할 수 있을 거에요. 액션(Action)과 액션 맵(ActionMap) 신호.. 더보기
Architecture my OpenGL engine core1 일단, 한바탕 울음을 쏟고 포스팅을 시작 해야겠어요. ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ 기존에 만들어 놓은걸 살포시 갈아엎고 다시 설계하기 시작 했거든요. 기존 설계는 확장을 하려면 너무 하드코딩하는 다형성이 전-혀 들어가 있지 않은 설계를 했기에, 어느정도 공부 후에 다시 시작 하고 있습니다.ㅜ 크흙 다행스러운건 기존의 함수들을 구지 없애 면서 할 필요는 없기 때문에, 프로세스에는 그렇게 큰 영향은 없어 보이는 거? 그래서 설계 초기 부터 생각의 흐름자체를 쭉- 정리해 나가는 게 설명하기도 좋을거 같고, 나중에 이런 부분이 제 스스로도 스킬적인 역량으로 쌓인다는 희망을 가지고 시작 할게요 :) 전체적인 구성과 목적 설계에 앞서 구성을 먼저 해야 겠죠? 제가 알아본 부분과 앞으로 이렇게 만들어야 겠다~ 하는 .. 더보기
OpenGL Transformations_Projection 프로젝션이라 함은 보통 같거나 낮은 차원으로 해당 좌표가 어디에 매칭이 되는지에 대한 짝을 만들어 내는 과정이라고 볼 수 있어요. 음… :) 말이 좀 어려운가요?ㅋㅋ 우리가 현재 작업하는 내용은 3차원 상에서 이루어 지는 내용인데 반해서, 보게 되는 화면은 2차원(모니터) 가 되는 거에요. 모니터 상에는 내가 이루어 놓은 3차원 세계가 어떻게 보이게 되나- 예전 포스팅에서도 몇 번(특히나 코드 내에서) 언급 되긴 했지만 어떻게 동작하는지, 시키는지에 대해서 중점적으로 보려고 합니다 :D 물론, 아름답게 함수로 이루어져 있기 때문에 우리는 불러다 쓰면 되긴 하지만 결과가 어떻게 나오는지 알아야 불러다 쓰잖아요~ :D 프로젝션 변환을 설정 하는 것은 바로 뷰잉 볼륨(Viewing Volume)이라는 것을 만.. 더보기