Me huelo que la respuesta no me gustara... pero hare la pregunta...
Si tengo una megaprimitiva (unas 50k caras) indexeada (con sus megavertex y megaindex buffers), pero solo lanzo a dibujar un index buffer que tenga unas pocas caras (unas 1000) de esa primitiva,.... ¿me procesa todos los vertices?
Te procesara el rango que indiques en el DrawIndexedPrimitive.
Para un device software transformara todo ese rango.
Para un device T&L normalmente (GForce y ATI) da igual pq solo transformara bajo demanda.
Perdon por la pregunta... pero es que a veces, me ofusco yo solito :sonriendo:
Mac...¿Qué quieres decir con que con T&L sólo se transforma bajo demanda?
¿Que sólo se transforma el vértice cuando se va a dibujar? !Si esto es así, debe convertir muchas veces el mismo vértice! ¿no te parece un error?
Lord:Supongo que estarás con el tema del octree. Yo actualmente lo estoy implementando. Lo que tengo pensado hacer es reconstruir la lista de vértices e indices para sólo lanzar a la tarjeta aquello que se ve. Pero claro, si según mac esto se procesa bajo demanda, quizás no sería necesario!
Pues si, es pal octree. Ya tenia el index buffer reordenado para mis propositos, pero por lo que me habeis dicho ahora tambien tendre que reordenar los vertices.... pufff vaya palo. :triste:
Si, las tarjetas T&L transforman bajo demanda. Eso quiere decir que si, que pueden transformar mas de 1 vez un vertice. De todas maneras tienen una pequenya cache (<20 vertices) donde pueden guardar los vertices ya listos para rasterizar.
De todas maneras, esto no es problema, ya que la transformacion es practicamente gratis (una gforce tira el mismo numero de polis/s transformando o sin transformar + o -), la cache ahorra principalmente ancho de banda y ahorra calculos de iluminacion