Well, I am kind of not as tech savvy as everyone. I downloaded the python thing and also downloaded the pynemap program. Which .py am I supposed to open? and when I open them all it is text. Also is there a special thing I'm just failing to neglect to do. Also I'm on a Mac running Leopard if that helps.
My python-fu is weak (I'm working on just getting pynemap to output block type statistics and that is proving more difficult than I had hoped) but a potential overhead rendering optimization opportunity occurred to me. It appears that the current code steps up from the bottom of the chunk to the top, overlaying the new color values on top of the previously calculated values as it goes.
You could cut the number of overlay operations in half(ish) if you stepped down from the top instead, overlaying the previously calculated values on top of the new values, and stopping the descent as soon as the result has an alpha of 255 (so you never render fully-occluded-from-above blocks). That is, instead of laying down an 8-layer world as stone+stone+stone+sand+water+water+air+air you could do air+air+water+water+sand+DONE.
The current process runs through blocks in order of Y-X-Z. This new process COULD use that same order, and waste a little time keeping track of the least-opaque block in the chunk and a little more by continuing down until every pixel in the chunk is fully opaque. It could also change the order to X-Z-Y so that the pixels are only handled one at a time.
viewtopic.php?f=25&t=33803
oh wow that looks excellent! can't wait to try it out.
You could cut the number of overlay operations in half(ish) if you stepped down from the top instead, overlaying the previously calculated values on top of the new values, and stopping the descent as soon as the result has an alpha of 255 (so you never render fully-occluded-from-above blocks). That is, instead of laying down an 8-layer world as stone+stone+stone+sand+water+water+air+air you could do air+air+water+water+sand+DONE.
The current process runs through blocks in order of Y-X-Z. This new process COULD use that same order, and waste a little time keeping track of the least-opaque block in the chunk and a little more by continuing down until every pixel in the chunk is fully opaque. It could also change the order to X-Z-Y so that the pixels are only handled one at a time.