   Impostor texture allocation
  I'm working on a cloud system using impostors and it is currently working quite well, only that I'm using a single impostor texture resolution. I want to be able to render far-away impostors to lower resolution textures than the near ones. I've tried sorting impostors away from the camera and allocating textures from a list where resolution decreases by index (8 big textures, 20 mid-size, 50 small), but I run into the problem of impostors that need to be re-rendered into a different but same resolution texture.Is there any algorithm that fits this problem well? I'm thinking about keeping some lists of allocated textures and keeping track of unallocated ones to allow swaps because of distance to camera changes in the clouds.   
  so what you're saying is... sometimes you have an imposter that is needed at a high resolution AND a low resolution?if this is the case you can either use the high res version in place of the low res at the expense of using a non mipped texture (swimming, high cache cost).or you can downsample the high res into the low res texture.;Quote:Original post by AndyFirthso what you're saying is... sometimes you have an imposter that is needed at a high resolution AND a low resolution?No, I don't need both, only one resolution at a time for each cloud. My problem is that if I naively assign textures to the impostors based on the distance from camera, two impostors may switch places in the same resolution texture batch.So if this is the texture array where L = large, M = medium, S = small resolution,allocated to clouds:LLLLLLMMMMMMMMMSSSSSSSSSSSSSSSSSSSSSSSSSSS12345678.....Clouds 4 and 5 can switch places, because of camera movement:LLLLLLMMM....123546...but they both still need L textures - thus it would be useless to re-render them since they haven't actually changed. I should only re-render clouds when the switch resolutions like this:LLLLLLMMM..12345768...;  this doesn't sound like a particularly difficult problem to solve. Store a "last state" for each imposter and only only re-render the texture if the state changes. State obviously being L,M,S.