D3D12 – PipelineState폭발

D3D 12에선 ID3DPipelineState란 놈이 있다. 그러니까 과거에 DepthStencilState과 RasterState와 BlendState를 합치고 거기에 VertexShader와 PixelShader까지 합쳐서 한 세트로 만든 객체다. 이걸 미리 만들어두고 렌더링할때 한번만 set하면 물론 빠르겠지. 기존처럼 각 스테이트를 따로 설정하는거보다 당연히 빠르겠지. … 문제는 쉐이더 폭발에다 각종 스테이트의 조합 상태까지 곱해져서 엄청나게 많은 PipelineState가 미리 생성되어야 한다는 점이다. 성능을 올리기 위해서 정말 눈에 … More D3D12 – PipelineState폭발

예전 개발한 게임에 오큘러스 리프트 적용하는중

간만에 개발 관련 썰. 예전 개발했던 게임에 오큘러스 리프트를 적용했다. 다른 프로젝트를 위해서 시험삼아 적용하고 문제점을 하나하나 해결해가고 있는 중이다. 오큘러스 리프트 SDK가 DX11만 지원하는데 내 게임 엔진은 처음부터 Direct X 11로 개발했으므로 적용하는데 큰 어려움은 없었다. 다만 오큘러스 SDK가 오른손 좌표계를 사용하므로 DX의 왼손좌표계로 바꾸느라 좀 애먹었다. 하여간 3D렌더링쪽은 대충 거의 문제를 해결했다. 그 … More 예전 개발한 게임에 오큘러스 리프트 적용하는중