S/W Raytracing을 이용한 복셀 오브젝트 Culling #2

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

S/W Raytracing을 이용한 복셀 오브젝트 Culling

현재 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

VOXEL HORIZON의 메모리 사용량 체크

테스트 하다가 생각나서 메모리 사용량을 확인 해봤다. 테스트한 맵은 폴리곤맵으로부터 변환했기 때문에 모양이 상당히 복잡하고 복셀 개수도 많다. 복셀 개수 : 복셀 하나당 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의 메모리 사용량 체크

DWrite에서 Custom Font사용하기

내 게임에서 몇 가지 외부 폰트를 사용한다. 익히 알려진 구글의 Noto sans와 Let’s go digital regular가 그것이다. 엊그제 UI레이어 코드 버그를 잡으면서 UWP빌드도 업데이트를 했다. 테스트 해보니 잘 도는거 같은데 뭔가 이상하다. Let’s go digital regular폰트가 제대로 나오지 않는다. 이게 8세그먼트 숫자로 표시되는 폰트인데 그냥 쌩 숫자로 나오네. 코드를 뒤져보니 UI코드 문제가 아니고 처음부터 폰트를 … More DWrite에서 Custom Font사용하기

Voxel Horizon – MIDI지원

온라인 상에서 옹기종기 모여서 음악을 연주할 수 있는 기능을 넣고 싶었다.직접 soft synth를 만들까 하고 꽤 찾아봤다. 파형을 합성해서 wav출력으로 쏴주면 되는데 일단 멀쩡한 소리 나게 하기가 쉽지 않아보인다. 개인적으로는 어릴때 써보고 싶었지만 돈이 없어서 써볼 수 없었던 MIDI장비를 지원하고 싶었다. 모든 Windows시스템은 Microsoft GS Wavetable Synth이라는 soft midi를 내장하고 있다. 그러니까 사용자의 장비에 하드웨어 … More Voxel Horizon – MIDI지원