Hacker News new | past | comments | ask | show | jobs | submit login

Someone else replied pointing out that what you're referring to are called imposters. I would also like to add they're a very very common technique, and something Wolfire Games added to their indie game Overgrowth in 2010, with a complete explanation: http://blog.wolfire.com/2010/10/Imposters

Yes, you can expect modern games to use any and all tricks available to squeeze performance. Imposters are an example of a LOD (Level of Detail) technique, which is standard in all game engines.

Imposters seems to be really old technique - see Trespasser 1998:

"The engine also used two other big tricks to lower the poly count: The most famous was "object caching": While rendering objects, the distant ones would be rendered to a cache and drawn as sprite on a quad. This trick originally resulted in mixed results since the mesh would remain a sprite too close from the player and changed from 2D to 3D in a very noticeable way as see in the two next images" (http://fabiensanglard.net/trespasser/index.php)

Another fabien post!!! Can never get enough of his writeups, no fluff just good review analysis and code.

Are those imposters usually prerendered or are they rendered at runtime, just at a much lower framerate? In any case, both could be seen as temporal LOD.

More than a lower temporal resolution (framerate), imposters are more often about a lower spatial resolution (2D billboarded asset instead of fully textured 3D model, or 3D model with fewer polygons/lower res texture, etc.)

There are also tricks using a lower temporal resolution - for example giving fewer ticks per second to the logic or animation of entities further away/out of sight.

I believe the question was whether the texture for the imposter is loaded from disk or rendered to a frame buffer but at a lower frame rate. I'm guessing rendering the object to a texture dynamically is the most common approach.

It's usually more performant to store them as framebuffer objects, so this way they could stay in the memory of the graphics hardware.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact