yuchi's Development Home


최근 엔진 스샷

조회 수 3628 추천 수 151 2008.01.25 03:36:43




뭐가 달라졌는지 모르겠다 하실 분도 많겠지만...

내부적으론 많이 바뀌었습니다.

아니 사실 최근까지 라이트맵 관련 디버깅으로 거의 죽는 줄 알았습니다.

라이트맵의 퀄리티 때문이 아니고 때때로 의도하지 않게 나오는 삑사리 때문이었습니다.

가장 치명적인 문제는 포탈/BSP 코드와 연관이 있었는데 아시는 분은 아시겠지만 공간분할 코드와 라이트맵 코드는 관련이 거의 없습니다.

그럼에도 불구하고 엔진에서 라이트맵 빌드 시에 속도향상을 위해 공간분할 코드들을 사용합니다.

따라서 라이트맵 버그를 잡기 위해 2년쯤 전에 짜둔 공간 분할 코드를 이잡듯 뒤져야야 했습니다.

시간 텀이 1년이상씩 나는 각각의 코드를 동시에 보는건 상당히 정신 사나운 짓입니다.

힘들었습니다.

특히 최근 몇 일 사이는 집에서 밤을 새가며 디버깅에 매달렸습니다.

현재의 라이트맵 코드는 나름대로 최적화한다고 했지만 빌드 시간이 상당히 많이 걸립니다.

회사에서 사용하는 쿼드코어 머신에서 릴리즈모드라면 2분 이내로 대부분 맵의 라이트맵을 빌드하는 것이 가능합니다만, 디버그 모드에선 약 1.5배가 더 걸리고 집에서 사용하던 AMD 듀얼코어 머신에선 쿼드에 비해 두배의 시간을 필요로 했습니다.

아 참고로 엔진은 부분적으로 N개의 멀티CPU(코어)를 사용합니다. 물리 충돌처리를 비롯하여 지금 얘기하고 있는 라이트맵 계산이 대표적인 케이스죠.

실제로 싱글 코어에 비해 쿼드 코어는 라이트맵계산시 1/4의 시간만을 필요로 합니다.

하여간 집에서 사용하는 머신은 회사 머신에 비해 클럭도 400MHz나 낮고, 램도 절반이고, 듀얼 코어였으니까요.

새벽내내 코드 고치고 브레이크 찍고 계산 걸어보고 결과를 확인하는 일은 무척 힘들었습니다. 결과를 보려면 기다리는 동안 무지 짜증스러웠죠.

물론 2002년도에 엔진을 처음 개발할때는 4시간까지 기다렸던 적도 있습니다. 그때보다 엄청나게 빠르게 동작할 수 있는 코드를 만들었고, 지금은 머신의 성능이 매우 향상되었기 때문에 그나마 몇 분 안으로 끝낼 수 있는거죠.

하여간 밤을 새고 그 다음날 비몽사몽에 회사에서 열심히 코드를 보다가 동료와의 대화중에 힌트를 얻어 치명적인 버그를 잡았습니다.

그리고 당장 집의 PC도 쿼드코어 머신으로 업그레이드 했습니다.

레이드를 비롯하여 좁은 케이스 등등의 문제로 또 PC때문에 밤을 새고 결국 체력의 문제로 하루 연차를 냈습니다.

방금 전에 PC세팅을 거의 완벽하게 끝내고 엔진과 클라이언트,툴들을 몽땅 리빌드 했습니다.

그러고 나서 맵툴에서 찍은 스샷입니다.

그러니까 요는.... pc업그레이드를 자랑하고 싶은걸까요?


instorm

2008.01.25 11:32:49
*.120.89.13

라이트맵 빌드타임 예술이구만~ 멀그리 징징거리삼~~~~ 자랑하기 위한 반어법인가?.. ㅎ 새로운버젼을 안써봐서 딴건 모르겠고 라이트맵 하나는 짱 부럽삼... 지금쓰는 랜더투첵스쳐 짜증지대로 중임다~

instorm

2008.01.25 11:35:15
*.120.89.13

아참 툴상에서 라이트맵 직접 그리는 기능.. 아직두 되나? 스포이드로 찍어서 브러쉬로 발르기만 하면 됬었던........ 그게 진짜 짱이었는데 다른 엔진들에선 보기가 힘드네...

여치

2008.01.25 14:08:34
*.123.218.31

훗. 그 기능 정도야...물론 되지요.
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
141 dx11 스키닝 file 여치 2011-01-20 3486
140 BSP/PORTAL적용 결과 [4] 여치 2008-08-21 3500
139 설 연휴 작업 내용 file 여치 2009-01-28 3502
138 cuda로 필터 만들기 첫번째 B/W필터 file 여치 2010-04-15 3514
137 Create .lib file from .dll file 여치 2013-02-02 3515
136 다이나믹 라이트 file 여치 2009-06-13 3524
135 라이트맵 계산시에 Ambient Occlusion적용하기 #3 file [2] 여치 2011-08-31 3537
134 레이어 기능을 추가한 하이트 필드 file [4] 여치 2005-07-01 3549
133 CUDA 로컬 디버깅 설정 file 여치 2011-11-30 3551
132 라이트맵 드로잉 기능이라면... file [1] 여치 2008-01-25 3555
131 DB에 세이브 기능 구현 여치 2008-02-02 3564
130 CUDA충돌처리 현재까지의 결과 CPU vs GPU file [4] 여치 2012-02-22 3569
129 Project ε(프로젝트 엡실론) 2차 알파 후기 file [2] 여치 2010-06-03 3580
128 라이트맵 계산시에 Ambient Occlusion적용하기 file 여치 2011-08-27 3581
127 64비트 어셈에서 스택 사용시 주의사항 여치 2007-08-23 3596
126 아이폰 프로그래밍 첫 연습작 file [2] 여치 2011-04-01 3604
125 프로그래밍의 도를 향해#3 여치 2002-04-22 3605
124 설 연휴기간 동안 작업내용 여치 2008-02-08 3624
» 최근 엔진 스샷 file [3] 여치 2008-01-25 3628
122 dx11 첫 걸음 file 여치 2011-01-19 3629
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet



XE Login

天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet