Quote: "Also beware of the [0, 10000] range, the higher the range, the slower the function."
Are you sure? Objects are stored in a vector/array, and logically, the function looks like this
for ( UINT i = 0; i < ObjectVector.size ( ); i++ )
{
if ( ObjectVector[i]->ID >= minRange && ObjectVector[i]->ID <= maxRange )
{
//..
//...
UINT hit;
if ( FAILED ( ObjectVector[i]->Mesh->Intersect ( &pos, &dir, &hit, NULL, NULL, NULL, NULL, NULL ) ) )
{
//error handling
}
if ( hit )
return ObjectVector[i]->ID;
}
}
The array size does not change with higher/lower, and thus number of loops does not change.
if what you are saying is true, then this should be an error in GDK structure
by the way Morcilla, no offense, nothing personal