DX11에서 스프라이트를 구현하려고하지만 텍스처를 처리하는 방법을 알지 못합니다.여러 스프라이트를 효율적으로 텍스처 처리하는 방법은 무엇입니까?
먼저 다른 텍스처 (아틀라스)를 사용하는 여러 개의 스프라이트가있을 수 있습니다. 하지만 화면에 스프라이트가 얼마나 있는지 모르기 때문에 쉐이더 코드에 Texture2D[x]
을 사용할 수 없습니다.
그래서 내가 Texture2DArray
을 사용하여 보았습니다. 그렇지만 D3D11Texture2D
개체 자체를 텍스처 배열로 초기화해야합니다. 한 순간에 스프라이트 A, B, C가 화면에 표시 될 수 있고 다음 순간 스프라이트 B, C, D가 화면에 표시되기 때문에 문제가되는 것 같습니다. 그래서 두 개의 D3D11Texture2D
객체를 생성해야합니다. 둘 다 B 텍스처와 C 텍스처가 포함되어 있습니다. 그리고 어쨌든 배열의 텍스쳐는 같은 크기 여야합니다.
그리고 그것은 절대적인 재앙입니다. 그래서 배열에 대해 제가 빠뜨린 부분이 있습니까? 그리고 가장 효율적인 방법으로이를 수행 할 수있는 방법은 무엇입니까? 단일 텍스처를 설정하고 해당 텍스처를 사용하는 모든 스프라이트를 그려야하며 반복해야합니까? 그것은 또한 아주 나쁜 것처럼 보입니다. 사전에
감사합니다!
추신. 나는 이것이 조숙 한 최적화일지도 모르지만 나는 DX에 익숙하지 않고 잘 코드화하는 것을 배우고/라이브러리를 잘 사용한다는 것이 나에게 흥미 롭다. 그래서 나는 나쁜 해결책을 쓰는 것보다 오히려 약간의 시간을 보낼 것입니다.
그래, 그게 내가 함께 할 것 같아. 이 사실에 대한 우아한 해결책은 아닐 것입니다. 적어도 존재한다면 그것을 찾지 못할 것입니다. 감사. –