2012-03-22 4 views
0

내 프로그램에서는 Drawure 함수를 반복 할 수 있도록 List <> 컨테이너에 추가 된 Texture2D 특성을 가진 수많은 Entity 클래스가 있습니다. 동일한 텍스처를 가진 엔티티를 그룹화하여 이전 텍스처가 다를 때마다 내 SpriteBatch에서 효율적으로 일괄 처리 할 수 ​​있도록 그룹화하려고합니다.Texture2D 텍스처를 효율적으로 비교하려면?

내 정렬 방법으로 Texture2D 클래스를 서로 비교하는 효율적인 방법은 무엇입니까? 나는 그것이 같은 텍스처인지 여부에 대한 부울 결과 만 필요합니다. getData()를 사용하여 픽셀을 비교하려고 생각했지만 잔인하게 비효율적 인 것처럼 보입니다. 더 좋은 방법이 있습니까?

+1

여러 개의 동일한 텍스처로 어떻게 마무리 할 수 ​​있습니까? 당신이 효율적으로 그들을 비교할 수있는 TextureID를 가지고 있어야하고, 어떤 텍스쳐 ID에 대해 텍스쳐를 가져 오는 방법이있는 것 같습니다. –

+0

예를 들어, 같은 적 스프라이트를 여러 번 렌더링했거나 투명도가 증가 할 때 동일한 스프라이트를 여러 번 렌더링하여 흔적 효과를 만들었습니다. 한 텍스처에서 가져 오는 것에 대한 의미를 알 수 있습니다. – kbirk

답변

1

사용중인 텍스처 부재 (예 : Name)를 고려하여 SortedList에 맞춤 IComparer을 사용하는 것은 어떻습니까? 그렇게하면 목록에 추가 할 때 텍스처로 모든 개체를 정렬 할 수 있어야합니다. 특정 엔터티를 다른 사람들 앞에 그리려면 엄격한 정렬이 최선의 선택이 아닐 수도 있습니다.

관련 문제