as far as the processor goes, calculating an spherical LOS has only thrown in one more multiplication (if it is done in the way outlined by one of the previous posts). If a cylindrical (finite height) LOS is used then the existing LOS algorithm regarding obstacles that aircraft use could still be used.Dragon45 wrote:Even if it wasn't "too hard" to do, then the bottom line is that we are simply making one of the most time-consuming tasks around even more time-consuming. Horrendously counter-intuitive.
this process may be timeconsuming but I can still run a game smoothly with well over a 100 aircraft on patrol in normal spring (on a computer 4 yrs old at 1024x768) so I don't think that this process is that time intensive.
The whole idea behind this is to do it simply.
ie in pseudocode
if (object within LOS radius) //ie is in the cylinder of LOS that is currently used
{
if(abs(object.height - aircraft.height)<heightofLOS)
{
object is seen
}
else
{
object is not seen
}
}
I have no clue how this is actually done in the source since I am unfamiliar with C++ but come end of exams I'll look into it