Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: fiero en 01 de Enero de 1970, 01:00:00 AM

Título: Triangulos con 3 vertices fuera de frustum, que se ven
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                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                                
Título: Triangulos con 3 vertices fuera de frustum, que se ven
Publicado por: _Grey en 01 de Enero de 1970, 01:00:00 AM
                                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".                                
Título: Triangulos con 3 vertices fuera de frustum, que se ven
Publicado por: NeLo en 01 de Enero de 1970, 01:00:00 AM
                                De todas formas recuerda: Es muy util comprobar bounding spheres/boxes antes de hacerlo por triangulos.
                               
Título: Triangulos con 3 vertices fuera de frustum, que se ven
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                [_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 ]