Hola,
pues eso, para calcular los triángulos de un objeto que están dentro del frustum, puede darse el caso de que los tres vértices estén fuera de éste y sin embargo parte del triángulo se vé en una esquina de la pantalla. ¿Cómo calcular ésto rápicamente? a mi se me ocurre alguna ecuación con las aristas, pero no es plan calcular si alguna arista pasa por el frustum, sería muy lento. O también mirar los máximos y mínimos del triángulo y comprobar el cubo que lo envuelve, pero tampoco parece apropiado.
Puede parecer descabellado discriminar a nivel de triángulos, pero viendo que te ahorras las transformaciones de vértices y las comprobaciónes de si dentro o fuera de pantalla (a nivel 2D), creo que se aligera el código. Estoy hablando siempre de un motor SOLO SOFTWARE.
un saludo
Creo que alguien hablo ya de esto antes,...
si no recuerdo mal dijo que eliminaba el poligono si los vertices estaban fuera del fustrum "por el mismo lado".
De todas formas recuerda: Es muy util comprobar bounding spheres/boxes antes de hacerlo por triangulos.
[_Grey]
ups! pues eso se me habia pasado, y eso que me lo leo todo... voy a hacerlo así, me parece muy buena solución
[NeLo]
síp, tenía pensado un octree o algo parecido, luego un descarte a nivel de objetos dentro de cada porción del octree y después una selección final a nivel de triángulos.
un saludo y gracias
[ Este Mensaje fue editado por: fiero el 2002-06-08 11:53 ]