No soy un experto en el tema, no lo he usado nunca, pero como lo entiendo yo los impostores utilizan la tecnica de billboarding, me explico.
Los billboards son quads que se dibujan siempre orientados de cara a la camara en los que ponemos una textura. Es una tecnica tan antigua como los graficos en 3d y nos permite usar sprites en entornos tridimensionales. Imaginaos que haceis un terreno en 3d y lo quereis poblar de arboles. Si teneis una imagen con un arbol simplemente la pegas en un cuad y los pones encima del terreno.
Los impostores son algo distintos. Imaginaos que quereis que al acercaros al arbol en question en vuestro terreno quereis que este sea un modelo tridimensional que habeis hecho y no una textura plana pixelada, pero cuando esta lejos no quereis malgastar recursos. Si hacemos la transicion a lo bruto se notara que por ejemplo el angulo en el que estaba el arbol en la textura y el angulo en el que aparece el arbol tridimensional no son el mismo entre otras cosas. Aqui es cuando se utilizan los impostores. Cada cierto tiempo, a determinar por el rendimiento del programa y el programador, se coje el arbol tridimensinal y se renderiza en una textura tal cual apareceria en la escena, despues esa textura se usa como un billboard, un impostor, basicamente se trata de crear un billboard en tiempo real. Cuando el objeto en cuestion esta suficientemente cerca, se sutituye por el tridimensional y listos.
Esto nos evita por una parte tener sprites para cada tipo de objeto en cada posicion, y por otra, al tener que rerenderizar los arboles, o lo que sea, solo cada cierto tiempo (mucho si el jugador se mueve lento) nos ahorramos bastantes recursos.
Es una tecnica algo compleja, para los que entandais un poco de esto os habreis dado cuenta que renderizar un monton de objetos en texturas distintas mataria la tarjeta. Para ello lo que se hace es renderizar todos los impostores en una sola textura muy grande ( o las que hagan falta). Ello obliga a mantener en algun lado informacion de que partes de dicha textura estan libres, cuales se han de actualizar etc...
Espero que haya sido de ayuda y que no esté muy equivocado. :)
Los billboards son quads que se dibujan siempre orientados de cara a la camara en los que ponemos una textura. Es una tecnica tan antigua como los graficos en 3d y nos permite usar sprites en entornos tridimensionales. Imaginaos que haceis un terreno en 3d y lo quereis poblar de arboles. Si teneis una imagen con un arbol simplemente la pegas en un cuad y los pones encima del terreno.
Los impostores son algo distintos. Imaginaos que quereis que al acercaros al arbol en question en vuestro terreno quereis que este sea un modelo tridimensional que habeis hecho y no una textura plana pixelada, pero cuando esta lejos no quereis malgastar recursos. Si hacemos la transicion a lo bruto se notara que por ejemplo el angulo en el que estaba el arbol en la textura y el angulo en el que aparece el arbol tridimensional no son el mismo entre otras cosas. Aqui es cuando se utilizan los impostores. Cada cierto tiempo, a determinar por el rendimiento del programa y el programador, se coje el arbol tridimensinal y se renderiza en una textura tal cual apareceria en la escena, despues esa textura se usa como un billboard, un impostor, basicamente se trata de crear un billboard en tiempo real. Cuando el objeto en cuestion esta suficientemente cerca, se sutituye por el tridimensional y listos.
Esto nos evita por una parte tener sprites para cada tipo de objeto en cada posicion, y por otra, al tener que rerenderizar los arboles, o lo que sea, solo cada cierto tiempo (mucho si el jugador se mueve lento) nos ahorramos bastantes recursos.
Es una tecnica algo compleja, para los que entandais un poco de esto os habreis dado cuenta que renderizar un monton de objetos en texturas distintas mataria la tarjeta. Para ello lo que se hace es renderizar todos los impostores en una sola textura muy grande ( o las que hagan falta). Ello obliga a mantener en algun lado informacion de que partes de dicha textura estan libres, cuales se han de actualizar etc...
Espero que haya sido de ayuda y que no esté muy equivocado. :)