0
0-100,101-300,301-1000,1001-2000 등의 인접한 크기가 수백 개가되는 것으로 가정합니다. 주어진 정수가 어느 범위에 속하는지 찾는 가장 빠른 방법은 무엇입니까? HLSL/GLSL을 사용하고 있습니까?HLSL/GLSL 정수의 범위를 찾으십시오.
범위는 상수 버퍼에 저장되며 정점 셰이더 내에서 범위를 찾아야합니다.
현재 사용하고있는 무차별 대입 방식은 너무 느립니다.
int index = 0;
int count = Lookup[index].count;
while (integer > count){
count += Lookup[index++].count;
}
return index;
누구나 아이디어가 있습니까?
우선 올 어떻게 이진 검색 대신 선형 어떻습니까? 유일한 조건은 범위가 정렬되고 훨씬 더 빠를 것입니다. http://en.wikipedia.org/wiki/Binary_search_algorithm – Gnietschow
그게 정확히 내가 한 것입니다. 감사! 대답으로 의견을 게시하고 동의 할 것입니다. –
완료, 기쁩니다. :) – Gnietschow