Feature Creep / Loading pre-made imposters (textures) for high poly models

Author
Message
The Tall Man
10
Years of Service
User Offline
Joined: 24th May 2014
Location: Earth
Posted: 1st Jun 2014 04:06 Edited at: 1st Jun 2014 04:34
Or better yet, allow the user to specify that a particular object is to shown only as an imposter. This would allow for high-poly, resource-intensive objects to be included in the game. Of course this would be more for decor and scenery, it wouldn't be practical for interactive characters.



The idea is that a texture for each possible viewing angle on the viewing plane (i.e. x-z) would be pre-rendered against a transparent background. The user can specify the angle resolution, for example 2 degrees.



The imposter would be created during building time, and only the imposter plane & textures would be loaded into the game. It would likely require a somewhat comparable amount of memory as loading the object itself (texture memory instead of vertex memory), but be very easy on processing resources to show it. This would allow for ultra-high poly models to be present throughout the games, virtually for free. No longer would the poly-count of a model be as big of an issue.



If the imposter/model appears in more than one place in the game, have the user pick one for texture-rendering (for lighting purposes), and then use the same textures for all the instances.



Not all 360 degrees need be rendered/textured either. Only the viewing angles where the player might view it. For example if such a model is placed against a wall, the max viewing range would be 180 degrees.



You could even have optional box, cylinder, or sphere collision for the object.



P.S. I did this in DarkGDK, and it worked well. I suggest about a 2 degree resolution. That's a good balance between resolution and texture memory requirements (for only one such imposter/model). Although if you can make the texture-switching more graceful (so it doesn't appear to jump) than I could, then 4 or 8 degrees would work well I think too. You could allow the user to specify texture resolution. For example, 1024x1024, or 512x1024, etc. I used DTX3 .dds, for a more graceful outline than the single-alpha-bit DTX1.
PM
tomjscott
User Banned
Posted: 7th Jun 2014 00:36
Awesome idea. I vote for this.

System Specs: OS - Windows 7 Home Premium 64-bit SP1, CPU - AMD Phenom II X4 945, 3.0Ghz, RAM - 8Gb DDR3, GFX Card - 2048MB NVIDIA GeForce GT 640, FPSC-R Version - Beta 1.007

Login to post a reply

Server time is: 2024-11-23 09:53:32
Your offset time is: 2024-11-23 09:53:32