La representación de escenas tridimensionales por computadora (o rendering) en tiempo real está limitada por el poder de procesamiento que se encuentre disponible y la cantidad de elementos que se deban procesar y mostrar. A medida que una escena crece en complejidad, y resulta imposible incrementar el poder de procesamiento disponible, se debe optar por reducir la cantidad de elementos a procesar y/o a mostrar. Existen en la actualidad una diversidad de algoritmos para visualizar escenas complejas en tiempo real, pero son generalmente muy específicos y resultan incompatibles entre sí. Sin embargo todos ellos cumplen con una regla básica: "Se debe minimizar el tiempo de procesamiento de los elementos menos significativos, y a su vez maximizar el detalle en las partes que así lo requieran". Cada uno de estos algoritmos que se presentan posee sus ventajas y desventajas, dependiendo del tipo de escena que se desee mostrar. Es por ello que, utilizando técnicas de programación orientada a objetos, se busca lograr una armónica combinación de ellos, aprovechando así las ventajas de cada uno, y dejando abierta la puerta a la implementación futura de nuevos algoritmos.