apple silicon m1 8 Core GPU vs RTX3070

요새 VOXEL HORIZON의 DX11/12버전을 macOS/iOS로 포팅하고 있다.https://youtu.be/oYhuwkkuGzg 일체의 외부 라이브러리 없이 C++과 metal API를 사용해서 작업중이다. DXR버전은 아직은 한참 무리고 DX11/12렌더러 기준으로는 거의 비슷하게 포팅했다. 물/파티클 빼고는 다 구현했다.이제 nvidia GPU와의 성능비교를 할 수 있겠다 싶었다. 스샷의 씬에서 렌더링하는 오브젝트는 캐릭터 한마리에 복셀 오브젝트 5개, 그리고 하늘&구름이다. 구름처리(Volumetric Cloudscapes)가 대량의 픽셀에 대해 상당히 복잡한 쉐이더를 … More apple silicon m1 8 Core GPU vs RTX3070

XDK없이 UWP+DX12로 XBOX ONE 게임 개발 #2

XDK없이 UWP + DX12로 XBOX용 게임을 개발하는 테스트를 진행하고 있다.Voxel맵에 이어 삼각형 베이스 맵을 띄웠다. UWP on XBOX에서의 각종 거지같은 제약사항을 뚫고 여기까지 왔지만 그래도 문제가 많다. 테스트 중인 장비가 1세대 XBOX ONE의 슬림 모델인 XBOX ONE S다. XBOX ONE X만 되어도 이보단 훨씬 나을거 같은데 현재로선 확인할 길이 없다. 화면에 나타나는 지저분한 점의 정체 … More XDK없이 UWP+DX12로 XBOX ONE 게임 개발 #2

XDK없이 UWP+DX12로 XBOX ONE 게임 개발(욕설주의)

내 게임-내 코드를 XBOX에서 돌리고 싶다. XDK를 받으려고 몇번이나 ID@XBOX신청했지만 전부 까임. UWP빌드는 만들어놨으므로 그냥 UWP빌드로 테스트하려고 함. 좇같은 UWP on XBOX는 DirectX 11을 사용할 경우 DX Feature Level 10만 지원함. 예전에 작업한 내 엔진의 UWP버전에선 Feature Level 10에 맞춰서 어떻게든 돌아가게 했지만 그간 업데이트 된 기능들이 Compute Shader를 쓰니 이젠 Feature Level 10으로는 도저히 … More XDK없이 UWP+DX12로 XBOX ONE 게임 개발(욕설주의)

DX12에서 Shader에 사용할 resource 하나 세팅하려면..

DX12에서 shader에서 쓸 resource(texture, Constant Buffer, RW Buffer등) 하나 만들려면 다음과 같은 작업이 필요하다. 1. Descriptor heap 생성 (Depth Buffer와 Render Target으로 사용하는 경우 각각에 대해 또 따로 만들어야함) 2. D3DResource생성 3. Descriptor Heap으로 부터 descriptor할당 4. D3DResource로부터 descriptor의 내용 업데이트.(gpu측 억세스 정보를 descriptor에 write) 5. Shader Reosurce View, Constant Buffer View , Unordered Access … More DX12에서 Shader에 사용할 resource 하나 세팅하려면..

Voxel Horizon 현재까지 진행상황

Voxel Horizon 프로젝트 현재까지 구현된 기능들. 구성요소 Game Server (C++, win32) Certification Server (C++ , win32) MSSQL Client (C/C++ , win32/UWP , DirectX11/12) 구현된 기능목록  기본적인 지형편집 가능. 복셀 오브젝트 생성 복셀 오브젝트 디테일 조정 1×1 – 8×8까지 복셀 추가 복셀 삭제 복셀 컬러 변경 실시간 라이트 갱신 CPU를 이용한 실시간 라이트맵 생성 복셀의 삭제/추가에 … More Voxel Horizon 현재까지 진행상황

DX12엔진에서 64KB Align문제 해결 – Texture

몇일전 포스팅 했다시피 DX12에선 모든 D3DResource가 64KB Align을 요구하고, 그래서 1Byte짜리 버퍼만 할당해도 64KB짜리가 할당된다. Voxel Horizon은 상당히 많은 개수의 Voxel-Object를 만들어내므로 DX12버전에선 GPU메모리를 미친듯이 먹고 있었다. 앞선 포스팅에서 언급했다시피 Vertex Buffer와 Index Buffer에 대해서는 직접 만든 heap에 64KB Align된 D3DResource를 결합해서 해결했다. 그리고 Texture가 남았다. 이게 처음에 좀 난감했다.  왜냐하면 1차원 버퍼가 아니고 2차원 … More DX12엔진에서 64KB Align문제 해결 – Texture