3월, 2006의 게시물 표시

물리 엔진

이미지
다음 글은 월간 게이머즈 2005년 9월호에 실렸던 내용입니다.. 8월호에 들어간 Shader에 대한 내용은 자료도 많은데다 이미 알고 있던 내용을 알아보기 쉽도록 정리하는 수준이라 별 어려움이 없었지만, 물리엔진은 직접 써본 일도 없고 해서 꽤 난감했습니다.. 결국 공개 물리 엔진인 ODE와 상용인 NovodeX의 평가판을 받아다 돌려보고서야 대충 원고의 틀을 잡을 수 있었습니다.. 나름대로 꽤 노력해서 쓴 글인데, 개발자 대상의 잡지가 아니어서인지 아무런 피드백이 없더군요.. 그리고 이 글을 끝으로 '미래시대' 코너 자체가 없어졌습니다;; -_-;; 미래시대 (월간 게이머즈 2005년 9월호 수록 내용) 글 / 토끼털 두른 셋쇼마루님 Physics Engine [물리 엔진] 게임 내의 오브젝트를 대상으로, 질량ㆍ속도ㆍ마찰ㆍ공기 저항 등의 수치를 이용하여 뉴턴 역학 모델을 시뮬레이트하는 프로그램을 통칭한다. 물리 엔진이란 무엇인가 최근의 게임계 기술에 관심이 있는 사람이라면, 근래에 들어 각광받기 시작한 '물리 엔진'이라는 고유명사를 들어본 일이 있을 것이다. 『하프라이프 2』나 『헤일로 2』에 현실적인 물리 연산을 위해 하복(Havok) 물리 엔진이 사용되었다더라는 등의 얘기를 들으며, 한번쯤은 물리 엔진이 과연 게임 내에서 어떤 기능을 하는 프로그램인지 궁금하게 여긴 사람도 있을지 모른다. 만약 이러한 궁금증을 느낀 적이 있다면, 이번 회에서 해답을 찾을 수 있을 것이다. '물리 엔진(physics engine)'이라는 명칭을 바탕으로 생각해보면, 게임에 있어 물리 엔진이란 곧 '자연계의 물리 현상을 게임 내에서 흉내 내는(simulate) 프로그램'일 것이다. 그렇다면, 물리 엔진을 이용하여 어떤 종류의 물리 현상을 시뮬레이트하는 것일까? CPU의 연산 능력에는 한계가 있으므로, 모든 물리 현상을 게임 내에서 완벽하게 구현하거나 범지구적인 거대한 자연계의 현상까지 시뮬...

Shader

이미지
다음 글은 월간 게이머즈 2005년 8월호에 실렸던 내용입니다.. 우연찮게 게이머즈의 기술관련 컬럼에 외부 필자가 필요하다고 해서 하게 되었는데요.. 이전부터 잡지사의 원고료가 짜다는 말은 많이 들었지만, 실제로 겪어보니 정말 짜더군요;; 페이지 수로 따지니까 그런것도 있겠지만, 이런 류의 원고는 원고 작성에 필요한 참고서적 값도 안 나올듯 합니다.. 어찌됐든 기술에 문외한 일반인을 대상으로 한 컬럼이니 감안하시고, 제가 썼던 초고가 아니라 잡지사 기자분이 약간 다듬어 주신 내용이니까 읽기에 편할겁니다.. 라곤 하지만 단 2회 쓰고 잘린걸 보면 이 내용도 일반인 대상으로는 좀 어려웠을지도 모르겠네요.. ^^;; 미래시대 (월간 게이머즈 2005년 8월호 수록 내용) 글 / 토끼털 두른 셋쇼마루님 (마감날짜에 쫓겨 급조한 필자명입니다.. ㅠ_ㅠ) Shader [셰이더] 기존의 경직된 3차원 그래픽 파이프라인(주 1)에 유연성을 주기 위하여 만들어진, 그래픽 파이프라인 상의 프로그래밍 가능한 구성요소를 통칭한다. 3차원 그래픽 파이프라인 PC용으로 등장하는 최신 게임을 즐기려 할 때면 어김없이 등장하여 게이머의 머릿속을 어지럽히는 단어가 있으니, 그 이름 ‘셰이더’. 오늘은 이 셰이더의 정체를 파헤쳐보고, 앞으로의 발전 방향도 짚어보도록 하자. 앞서 정의한 내용에 따르면, 셰이더란 ‘기존의 경직된 3차원 그래픽 파이프라인’에 ‘유연성’을 주기 위해 만든 것이라고 했다. 그렇다면 기존의 경직된 3차원 그래픽 파이프라인이 무엇인지, 왜 경직되었다고 말하는지를 알아야 이야기를 풀어갈 수 있을 것이다. 우선, 일반적으로 3차원 그래픽 가속 하드웨어(즉 3D 그래픽 카드)에서 3차원 그래픽을 어떻게 지원하는지 살펴보자. 이 글에서는 우리가 흔히 접하는 DirectX를 기준으로 설명하도록 하겠다. 다음은 마이크로소프트에서 제공하는 DirectX 개발도구에서 발췌한 Direct3D의 그래픽 파이프라인의 개략도이다. 그림 1 - Direct3D의 그래픽 파이프라인 뭔가 알 수...