'근데 3d게임의 경우 비트맵등이 아닌 3d제작툴을 이용해서 만든걸 어떤식으로 윈도우에 나타나게 하는겁니까? 3d를 비트맵처럼 뽑아서 더블버퍼링으로 계속 출력하는겁니까?'
-> 다이렉트X의 고정파이프라인을 이용해서 윈도우에 나타나게 합니다. 고정파이프라인이 '3d를 비트맵처럼 뽑아서 더블버퍼링으로 계속 출력'하는 것과 유사한 일을 해줍니다. 3D 프로그래밍 책 같은 거 봐보시면 자세하게 나와있습니다. 원리는 대충 비슷하다고 보셔도 됩니다.
-> 쉐이더를 사용하는 프로그래머블 파이프라인의 경우도 마찬가지 입니다. 프로그래머블 파이프라인을 거쳐서 윈도우에 나타나게 합니다.
-> 원리를 자세하게 아시려면 3d 그래픽스 프로그래밍 공부 (혹은 다이렉트X 공부) 를 하셔야 합니다. 2d의 경우와 크게 보면 비슷하다고도 할 수 있고 디테일하게 접근하면 전혀 딴판이다라고 할 수도 있을 정도로 복잡하고 어려운 과정을 거치게 되거든요.
'그리고 rpg같은 게임에 사용되는 여러 상태창이라던가 적같은 경우는 대화상자나 그런걸로 만드는건가요?'
-> 대부분의 경우 (아마도 99% 이상) 대화상자를 이용해서 만들지 않을 겁니다. 다이렉트X를 사용해서 위에 언급했던 방법으로 게임에 사용되는 모든 인터페이스를 제작합니다. 심지어 3d로 2d처럼 보이게 표현하는 방식도 사용합니다. (이게 작업이 더 편하거나 수월할 때도 있습니다.)
-> 적 같은 동적 오브젝트나 배경의 나무 등의 정적 오브젝트를 포함해서 게임의 모든 오브젝트들은 다이렉트X를 사용해서 만듭니다. 대화상자 같은 걸 사용하지 않습니다.
'전역까지 한 15개월정도 남았는데 이 기간동안 수학,영어를 좀더 공부해서(군대와서 수학,영어 공부를 하나도 안했더니 공식같은걸 다잊어먹음)
대학생수준으로 다시 끌어올리는게 나을지'
-> 대부분의 전문 게임 프로그래머들도 수학, 영어 젬병입니다. 고등학교 수준의 수학, 영어도 제대로 못하시는 분들이 태반이고요. 게임을 제작하는 데 정말 필요한 부분들은 3d 게임 프로그래밍 책들을 보시다 보면 중간에 나오니깐 그것들만 공부하셔도 충분합니다. 물론 대학생 수준으로 끌어올리시면 큰 도움이 되긴 합니다. 하지만 안해도 못할 건 없습니다. 게임프로그래머들한테 고등학교 미적분 문제 조금 어려운 것 몇 개만 내보세요. 한 절반은 문제에 손도 못댈 겁니다.
-> 위와 질문들을 봤을 때 '노라줘(?)'님은 3d 그래픽스 프로그래밍에 대해서 거의 공부가 안되어 있는 상태인 것 같습니다. 신입 클라이언트 프로그래머가 갖춰야할 것들의 5%도 못갖추신 것 같은데요. 아마도 3d 게임을 아마추어 습작 수준으로라도 만들어보신 경험이 한번도 없으신 것 같습니다. (mod나 쯔꾸르 식의 저작툴을 사용한 경우 제외하고요.) '좀 더' 수준이 아니라 처음부터 아주 제대로 공부를 해보셔야 할 것 같습니다.
-> 공부하실 교재 아직 선택 전이시라면, 저 한참 공부할 때는 (한 6~7년전) 'IT EXPERT 3D 게임프로그래밍 (한빛미디어, 김용준 저)' 책이 3d 게임 그래픽스 프로그래밍 입문에는 굉장히 좋았습니다. 저희 때는 아주 정석 처럼 여겨지던 책이예요. 이 책을 추천해드리고 싶네요.
-> 자료구조는 stl 정도만 사용할 줄 아셔도 게임제작에는 큰 무리 없고요. 제대로 공부하시면 물론 더 도움이 되긴 합니다만, 이 역시 현역 게임프로그래머들 중에도 제대로 공부 못한 사람들이 꽤 될 꺼예요. stl 정도만 익숙해지셔도 큰 문제 없습니다. 그리고 요즘 PC 성능이 정말 좋아져서요. PC플랫폼 게임을 개발하시고 엔진프로그래머가 아니라면 자료구조는 별로 신경쓸 대상이 아닙니다. 신경써도 그리 효율도 안나고요. 게임로직 쪽에 신경을 더 많이 써야 합니다.
마지막으로 API와 MFC에 대해서 말씀드리겠습니다. API는 메시지 루프나 윈도우 메시지 처리, 멀티쓰레딩 관련 작업들 등에 사용하고요. MFC는 툴 만들 때 주로 사용됩니다. 정통하실 필요는 없지만 참고자료 뒤적거리면서 원하는 기능 구현하실 수 있는 정도로는 공부해 두셔야 합니다.