May 262009
 

PerfHUD나 DirectX Caps Viewer로 볼 수 있지만, 비디오 메모리 사용량을 렌더링하는 게 그리 힘든 일이 아니라 보통 이 정도는 렌더링해준다. 그건 좋은데 문제는 DirectX9 인터페이스로는 사용 가능한 전용 비디오 메모리를 알 수 없는 거다. 그래서 보통 DirectDraw 인터페이스를 구해서 GetAvailableVidMem()를 호출해서 비디오 메모리를 구한다.

이것만 알고 있었는데, DirectX 샘플을 보던 중 비디오 메모리를 5가지 방법으로 구하는 VideoMemory Sample을 발견해서 살펴봤다. 샘플 자체가 비디오 메모리 구하기 완전 정복 필이다.

이 5가지 중에서 DirectDraw, WMI, DXGI를 사용하면 비디오 로컬 메모리를 구할 수 있다. DXGI는 비스타 이상에서만 사용할 수 있어서 XP 타겟으로 개발하는 게 대부분이라서 탈락이고 DirectDraw와 WMI 둘 중 하나를 고려해야 하는데, 문서에는 XP에서는 WMI, Vista에서는 DXGI 사용을 추천하고 있다.

Continue reading »

by-nc-sa

May 142009
 

Mathematica, Maple과 같은 Computer Algebra System이다. 그래픽스를 공부하면서 수학 공식만 보면 뒷골이 땡기고 이해 못 하면 안 되는데 하며 똥줄이 타던 차에 발견한 프로그램이다. MIT에서 1960년대에 개발된 Macsyma가 모태가 된 프로그램으로 현재까지 꾸준히 업데이트 되고 있다. 라이선스는 GPL, 빌드된 바이너리만 넙죽넙죽 받아서 사용할꺼라 무료로 맘 편하게 쓸 수 있겠다. 라이선스에 관해서는 이전에 살짝 정리한 포스트를 참조. 프로그램은 홈페이지에서 다운로드 할 수 있다. Maxima - 무료 Computer Algebra System에서 어떤 프로그램인지 잘 소개했다.

맛 좀 봐야겠는데, 뭘 할까 고민하던 중에 예전에 본 하트 방정식이 생각나서 이걸 그리기로 했다. 왠지 낭만적으로 보이기도 하고 말야. 2D, 3D 수식을 각각 Heart Curve - Wolfram MathWorld, Heart Surface - Wolfram MathWorld에서 구할 수 있다. heart equation으로 검색했었는데, 양키들은 2D를 Heart Curve, 3D를 Heart Surface라고 부르더라.

Continue reading »

by-nc-sa

May 122009
 

반영(penumbra) 표현이 핵심인 Soft-Shadow. Single-sample 접근으로 시야 정보를 Shadow map의 한 형태로 기록한 정보를 이용해 Soft-Shadow를 렌더링한다. 어떻게든 리얼 타임에 적은 비용으로 Soft-Shadow를 그리려고 하나 아직까진 무리인 느낌이 든다. 결과물을 돌려보면 잘 찍은 스크린샷에 비해 실망감이 밀려오나 싸게 해보려는 시도에서 생각의 폭을 넓힐 수 있었다.

by-nc-sa

May 062009
 

시대를 뛰어넘는 즐거운 논쟁이라는 부재에 걸맞게 흥미로운 논쟁거리를 하나씩 툭툭 던져주며 이야기를 풀어간다. 책에 대한 사전 지식도 없고 서문도 읽지 않은 채 책을 읽어 가던 중, 어라? 갑자기 에이다, 코볼 프로그래밍 언어 얘기가 나와서 다시 서문으로 돌아갔다. 헐~ 15년이 넘은 책이구나. 지금이나 15년 전의 논쟁거리나 전혀 달라진 게 없구나. 15년 전의 논쟁거리가 아니라 논쟁거리가 15살을 먹은 게 맞지 않을까 싶다.

이론이 먼저냐 실제가 먼저냐, 설계의 본질은 신속한 모델링과 시뮬레이션이며 설계의 핵심 요소는 해결책을 제안하고 실패를 허용하는 능력이라는 것 등의 몰랐던 재미있는 논쟁거리도 있었지만 2배는 개코로, 소프트웨어 개발자의 능력이 30배까지도 차이가 난다는 것과 테스트에 관한 이야기, 유지 보수는 골칫거리가 아니라 해결책이라는 이야기 등 최근에 나온 책에서 접했던 내용이 15년 전에 언급됐던 내용이라니 놀라웠다. 그리고 또한 아직도 해결되지 않고 되풀이되는 논쟁거리라서 역사는 돌고 돈다는 얘기 한 마디로 거뜬히 표현할 수 있는 현실이 서글프기도 했다.

"사라진 즐거움을 찾아주시겠습니까?"라는 마지막 장이 기억에 남는다. 나 또한 로버트 L. 글래스처럼 이렇게 마지막 장을 쓰는 건 아닐까?

소프트웨어 전반에 대한 이해의 폭을 넓히고 새로운 시각을 가지게 해 준 책이었다.

 

by-nc-sa