복셀 기반 네트워크 게임 충돌처리 전략
2021년 11월 9일 방송분입니다.
2021년 11월 9일 방송분입니다.
VOXEL HORIZON을 구현한 게임 개발 플랫폼에는 UI 시스템이 있다.버튼, 리스트박스, 그리드, 다이얼로그등의 부품들을 virtual interface로 노출하고 있는 DLL엔진이다. 이 프로젝트를 시작할 당시에는 아예 콘솔 기반 UI로 갈 생각이었다. 퀘이크같은 콘솔 하나 띄워줄 생각이었다. GUI는 고려하지 않았다. 그러다가 GUI를 구현하게 됐다. 여기까지만 해도 당초 계획을 아득하게 초과한 작업이다. 출시까지 시간이 없었으므로 모든 UI는 하드코딩해서 구현했다. 출시 … More UI 스크립트와 UI에디터 구현중
성능을 위한 메모리 사용 tip.2021년 9월 28일 방송분입니다.
2021년 9월 25일(토) 잡담 방송중 드러난 버그의 디버깅 썰. 증상 :점프했다가 떨어질때 바닥보다 약간 높은 위치에서 캐릭터가 멈춤. 이때 애니메이션도 착지 동작이 아닌 상태로 스톱. 원인:1) 캐릭터 오브젝트 스케일/회전/이동에 변화가 있을 경우 이를 렌더링용 변환 매트릭스에 반영하도록 되어있다. 불필요한 처리를 반복하는 상황을 막기 위해 업데이트 플래그 변수를 1로 세팅하고 이 변수를 체크하여 프레임당 한번만 수행한다. … More 캐릭터 위치 관련 디버깅 썰
2021년 9월 14일 방송분입니다. 발표자료
CUDA Raytracing을 이용한 복셀 오브젝트 culling 기능 작업중. 앞서 이 기법에 대한 기본적인 내용을 포스팅을 했었다. https://megayuchi.com/2021/09/06/s-w-raytracing%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%eb%b3%b5%ec%85%80-%ec%98%a4%eb%b8%8c%ec%a0%9d%ed%8a%b8-culling/ 실제 culling을 해야하는데 우선 복셀 오브젝트 ID를 곧바로 버퍼에 써넣고 이것을 보이는 오브젝트 목록으로 가져가는 방식으로 구현했다. 아주 칼같이 보이는 오브젝트만 골라주기는 하는데 문제가 있다. 512×512정도의 해상도로는 화면 해상도보다 많이 낮다보니 오차가 발생한다. 그렇다고 화면 사이즈만큼 CUDA측 프레임버퍼 … More S/W Raytracing을 이용한 복셀 오브젝트 Culling #2
현재 SW Occlusion Culling + HW Occlusion Culling을 사용중이다. 일단 복셀지형을 놓고 볼때 어지간하면 오브젝트 개수가 5만에서 8만개씩 나오기 때문에 S/W Occlusion Culling을 먼저 걸어주지 않으면 H/W Occlusion Culling에서도 꽤 큰 손해를 본다. draw call이 엄청 증가하기 때문이다. 그런데 S/W Occlusion Culling은 또 CPU 처리에서 상당한 지연을 일으킨다. 그래서 이걸 async로 처리하고 있긴 한데 그 … More S/W Raytracing을 이용한 복셀 오브젝트 Culling
D3D텍스트 렌더링. 2021년 8월 31일 방송분입니다.
테스트 하다가 생각나서 메모리 사용량을 확인 해봤다. 테스트한 맵은 폴리곤맵으로부터 변환했기 때문에 모양이 상당히 복잡하고 복셀 개수도 많다. 복셀 개수 : 복셀 하나당 50cm x 50cm x 50cm 로 환산 -> 9364002개 D3D11 committed: 2820580KB (2.82GB)Working Set : 1817052KB (1.81GB)Heap committed : 1695968KB ( 1.69GB)GPU Dedicated : 692888KB (692MB) D3D12 committed: 2705464KB (2.7GB)Working Set : … More VOXEL HORIZON의 메모리 사용량 체크
툰쉐이딩 구현. 2021년 8월 17일 방송분입니다.
댓글을 달려면 로그인해야 합니다.