I went a bit further with this, now that it seems to be indeed a new technique. So far I think that creating good textures for this is pretty difficult and I will have to put more effort into that to get it to actually look good. These buildings are almost all windows, which is quite unnatural and also emphasizes the Interior Maps too much, I think, showing their seems and horizon.
I put a new version online, this time with several different materials to show a bit more of how it works, and a floor added to it. The result looks like this:
You can try this demo version 2 here: interior mapping demo v02 (ZIP, 3,7mb)
Thamas wrote:...you might also consider heavy fog inside the building. (If I glark correctly how you're calculating things, this would be trivial to add.)
Fog would seem odd, I think, but I might put a limit on the distance at which the map is shown and show some dark grey from a certain distance instead, suggesting a wall inside the building.
...You aren't gonna copyright the technique and make us all hate you, are you?
Nope. I intend to write a short paper about it instead, just for the fun of it.
SpannerMan wrote:...Is it easy enough to configure a little, like say for example to:
a) change the amount of lighting on each level's ceiling/floor texture? For example a level may have its lights turned off.
a) use multiple textures so the different levels of the building appear to have different ceilings / floors?
Changing the lighting per floor is actually not very difficult, because I can just calculate some random lighting value from the height of the floor. That way a specific floor will always get the same lighting and the next floor will be darker or lighter.
Multiple textures could be done as well, but the technique is pretty expensive as it is, so I do not think it would be worth it to do that. It might be interesting to put several floors in one texture, though, and do some texture coordinate jiggling to switch them per floor. Might work for little price that way, as I am already doing dependent reads anyway. I wonder how that would look, though, as a repeating pattern in switching floor textures would definitely look very ugly and I am not sure I could make it random. And even random the repeating of two is probably more ugly than of one.
Nope, that one is just about reflections in windows. Reflections are in my demo and images, though, as an added effect, but the Interior Mapping I am talking about here is the ceilings inside the building.
jjp wrote:...I think it might in practice not be that more expensive to actually put some planes inside the building and have "real" floors and ceilings. But I wonder if this technique has other interesting uses?
I think the price of the effect greatly depends on the texture resolution, as dependent reads like this will kill the texture cache, I suppose. Doing reads close to previous reads is important for performance. So experimenting with texture resolution might help performance.
As for putting floors there: this technique is especially interesting for high buildings with lots of floors. For polygons, that would mean lots of polygons, while this technique still costs the exact same performance. Also, putting planes there requires a lot of extra textured planes that need to be blended with reflecting windows in front of them. Alpha blending is pretty expensive to do. All in all, I am hoping that this is more efficient than putting actual planes there, but I will have to test that to be sure, of course.