yuchi's Development Home


CUDA로 구현한 충돌처리

조회 수 3271 추천 수 0 2012.01.16 17:27:21
퇴사 이후 다음 직장 찾을때까지 만들기로 계획했던 물건이다.

예전에 프로젝트 엡실론에서 사용했던 충돌처리코드보다 상당히 개선했다. 다이나믹 개체들간의 충돌처리도 포함되어있다. 그때보다 속도도 빠르고 코드도 간단하다.

그리고 CUDA를 지원한다. 처음부터 CUDA를 염두해두고 만들었다.

멀티스레드 버젼은 만들지 않았고 CPU 싱글 스레드 버젼과 CUDA버젼만 만들었다.

일단은 CUDA버젼이 CPU버젼보다 10배정도 빨랐는데 타원체VS타원체 들어가면서 버스 병목이 생겨서 격차가 줄어들었다.

일단 돌아가는 가니까 이제 최적화를 해봐야겠다.


타원체 vs 타원체 + 삼각형 집합
충돌 후 미끄러짐과 반사처리.

사용도구 : DX11 + CUDA 2.1 + VS2010




글님

2012.01.30 02:06:07
*.39.193.154

헐 대단하네요. GPU를 소켓 라이브러리에 쓰는 걸 최근에 봤는데, GPU란 녀석이 은근히 써먹을 곳이 많군요... 혹시 후학을 위해 소스를 오픈하실 생각은 없나요 ^^

여치

2012.01.30 15:38:36
*.96.109.84

소스를 공개하고 싶지만 아직 한참 미완성이고 쪽팔려서 공개를 못합니다. 스스로도 만족할만한 수준이 되면 공개할 수도 있지요.

이정훈

2012.01.30 16:29:36
*.137.16.157

영천님의 MMORPG PDF 에 따라 캐릭터 툴을 만들었습니다 

맥스스크립트로 메쉬, 본, 애니 파일을 EXPORT 한 후 캐릭터 툴에서 부르는 것 까지 되었습니다 

이후, 쉐이더 적용하는 부분도 완료 했습니다 

저는 OPEN GL 베이스로 제작중입니다 

현재로는 경계박스 AABB 와 경계구 설정 정도로 마무리 할려고 합니다만 혹시 필요한 부분이 더 있을까요 


저는 캐릭터 데이터 구조에 메쉬, 본, 애니데이터를 하나의 파일로 팩킹해서 사용하고자 합니다만 

캐릭터 데이터 구조에 이외에도 필요한 부분이 있을까요?


<header>

  mesh 

    - 경계구, 경계AABB 

  bone 

  bonecount 

  bone data  information (file position , tag ) 

  animation count  

  animation data information (file position, tag ) 

</header>

 data 


독학으로 하나씩 하자니 많이 막히네요. 조금만 지도해 주신다면 큰 힘이 되겠습니다 



첨부

여치

2012.01.30 17:40:49
*.209.59.219

별 생각 없이 올린 자료인데 도움이 되신거 같아 기쁘군요.

캐릭터 데이타에는 그 정도면 들어갈건 다 들어간것 같습니다.

처음부터 많이 몰아넣으려고 하면 오히려 복잡하고 지저분해지기 쉽상입니다.

애니메이션 데이타는 따로 빼시는걸 권장합니다. 그래야 다른 캐릭터모델 간에도 애니메이션 데이타를 바이너리 레벨에서 공유할 수 있거든요.

이정훈

2012.01.31 12:02:25
*.137.16.157

애니 정보는 바이너리로 나누는걸 생각못했는데 따로 나누면 

여러 캐릭터에서 접근이 가능하겠네요 ~~ 


"처음부터 많이 몰아넣으려고 하면 오히려 복잡하고 지저분해지기 쉽상"


이말이 정말 큰 도움이 됩니다 감사합니다 

List of Articles
번호 제목 글쓴이 날짜 조회 수
161 nVIdia 케플러 GK104의 CUDA성능은? file [2] 여치 2012-03-17 2622
160 CUDA충돌처리 응용#2 여치 2012-03-06 3156
159 CUDA 충돌처리 응용 여치 2012-02-28 2776
158 CUDA충돌처리 현재까지의 결과 CPU vs GPU file [4] 여치 2012-02-22 3569
157 nVidia Visual Profiler 4.1로 돌린 결과 file 여치 2012-02-21 3241
156 이번에 CUDA충돌처리 모듈을 만들면서 깨닫게 된 몇 가지들. [4] 여치 2012-02-10 2479
155 CUDA 충돌처리 현재까지 진행상황 file 여치 2012-02-04 3391
» CUDA로 구현한 충돌처리 [5] 여치 2012-01-16 3271
153 3D MMOG Platform만들기 file [2] 여치 2012-01-01 2786
152 삼각형 충돌처리 코드 작성중 file [2] 여치 2011-12-23 3974
151 라이트맵 블러링 file 여치 2011-12-08 3639
150 CUDA 로컬 디버깅 설정 file 여치 2011-11-30 3551
149 라이트맵 엣지 블랜딩 관련 file 여치 2011-11-28 3345
148 요새 하는 작업 file 여치 2011-11-21 2483
147 코딩 및 테스트 계획 여치 2011-11-08 3466
146 TFS Backup Plan 삭제 방법 여치 2011-11-07 3234
145 새로 출발하는 개인 프로젝트 file 여치 2011-10-06 3933
144 라이트맵 계산시에 Ambient Occlusion적용하기 #3 file [2] 여치 2011-08-31 3537
143 라이트맵 계산시에 Ambient Occlusion적용하기 #2 file 여치 2011-08-28 4099
142 라이트맵 계산시에 Ambient Occlusion적용하기 file 여치 2011-08-27 3581
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 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