VOXEL HORIZON – Dynamic Voxel Object구현

요새 Dynamic Voxel Object라고 이름 붙인 기능을 구현하고 있다.월드 상의 복셀 오브젝트들을 선택해서 강체변환(회전/스케일/이동)을 적용하여 맵에 배치 가능한 오브젝트로 만드는 기능이다.기능을 표현하는 용어로는 The brush from Voxel Objects라고 하는게 더 어울릴지도 모르겠다.다만 내부적으론는 Dynamic Object를 상속받은 Character Object에서 Voxel Object 집합을 생성해서 들고 있고 Dynamic Object-Character Object로 간주해서 컨트롤 하기 때문에 이런 이름을 붙였다. 영상과 … More VOXEL HORIZON – Dynamic Voxel Object구현

CPU벤치마크 2023년 – SurfaceProX, Windows Devkit 2023, Apple M1, i7 13700K, i7 13620H, AMD Ryzen Z1 Extreme …

2년전에 포스팅 했던 Surface Pro X의 리뷰에서 진행했던 벤치마크의 추가 버전이다.Apple m1, Snapdragon SQ3, AMD Ryzen Z1 Extreme, i7 13700K, i7 13620H이 추가됐다.테스트 별로 어떤 의미를 가지는지는 이전 포스팅을 참고바람. 우선 4칙연산 테스트 수학함수 테스트 메모리 카피 테스트

2023년 개발 결산

VOXEL HORIZON의 iOS/macOS 포팅 D3D Tiled resources 지원 D3D Mesh Shader지원 D3D12 Resources -> GPU Memory Heap기반으로 전환(로딩성능개선, GPU메모리 절약) VOXEL HORIZON MOD(Plugin) 지원 macOS/iOS 미디 기능 추가 13세대 Hybrid Core(P-Core, E-Core) 지원 이 정도면 많이 했다.

추가된 D3D12_RESOURCE_STATES 열거형 – D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE

초기(VS2015시절) D3D12와 현재 최신 D3D12 SDK의 D3D12_RESOURCE_STATES 열거형 비교. 요 몇 일 전에 ID3D12Debug5::SetEnableGPUBasedValidation()함수의 존재를 알게 되어 GPU Validation을 켜고 테스트를 돌렸다.이전까지 d3d validation을 다 통과해왔는데 ID3D12Debug5의 GPU validation을 켜니 새로운 에러가 쏟아져 나왔다. 가장 이해가 안됐던게 Texture Layout Barrier가 호환되지 않는다는 에러.구글링 해봐도 전혀 정보가 없다. 어제 하루종일 삽질한 끝에 Resource Barrier문제란걸 알았다.이게 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE와 … More 추가된 D3D12_RESOURCE_STATES 열거형 – D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE

DXR의 BLAS 할당 최적화

최근 기술방송 -D3D12게임프로젝트 로딩성능 개선 ( https://www.youtube.com/live/R_sMY_jjZnE?si=qGerBiAmCkMehLbp )- 에서 언급했다시피 CreateCommittedResource()함수가 엄청 느리기 때문에 할당하는 버퍼 수가 많다면 성능에 상당한 영향을 준다. 이 문제를 해결하기 위해 D3D12Resource를 Heap에 맵핑한 D3DResourceBufferHeap를 만들었고 주요 매시 데이터는 D3DResourceBufferHeap에서 할당하도록 했다. 다만 RayTracing을 위한 BLAS메모리는 아직 처리하지 못했다. DXR렌더러에서 BLAS생성하느라 D3D12Resource를 엄청 많이 할당하는데 이게 성능에 적지 않게 영향을 … More DXR의 BLAS 할당 최적화