2010-10-20, 07:59 PM
The 16bpp mode generally looks really good with dithering. I realize 32bpp is technically better but something about it just doesn't seem right. Well not with the stuff that comes with Som anyway. I'm sure if you did everything custom with really high production quality it would be as good as anything, but for the most part the 32bpp just kind of highlights the shabbiness of the otherwise really nice graphics.
Anyway the real Achilles' heel of 16bpp is the black tint blend which is applied successively in the menus. If not for that tint I'd guess that 32bpp was never really the primary target (because everything else is 16bpp)
16bpp does not do well in the dark. And it does even worse when squashing a fully lit image into a dark image, ie. black tinting. The reason why is you're taking an already limited colour range and squashing it into (in Som's case) a half of that range. And then another layer of tint, and it's squashed again, and by the 3rd or 4th layer (which Som sometimes applies) there's just no range left at all and you end up with like a two colour image
So I'm thinking... with Ex at this point 16bpp pretty much never comes for free, and just ends up being converted to 32bpp anyway. So might as well cut out of 16bpp before the first layer of tint is applied. Up until Shader Model 3.0 the only way to do the colour conversion is draw everything to a 16bpp surface, then plaster that surface over a 32bpp surface as a texture. But 3.0 is the best quality target atm, and it can actually do the 16bpp conversion without any middle surface or even any coordination, so this should even be a performance booster in best quality mode as long as the middle surface is not required for any special effects.
With shaders you can even cheat and just do everything in 32bpp mode then do the 16bpp conversion with dither... which would look at least as good a 16bpp mode probably with better colour where blending is involved.
Sometime it may be worth setting up an auto-brightness effect to try to simulate the eye adapting to the light level. That would allow some more range to be reclaimed / would be interesting.
It's funny I mentioned setting the black level to just above true black in another post today, but I decided to chew that over for a little while longer because it had the weird effect of making dark games even darker. I wasn't sure why for a while but decided it's an optical illusion... which basically works because bright things seem darker next to other light things than next to dark things. Kind of like one day I spent quite a while trying to decide if my lighting calculations were wrong in the opening hallway off DD because whenever I got close to a torch it would get darker... that drove me nuts until I realize while walking towards/more under them they moved from a dark backdrop to a light backdrop and hence only seemed darker
^Weird thing was under DX7 I'm pretty sure they did not seem to become darker. But under D3D9 they did. I was worried about my shader, not D3D9. I based it on the D3D9 docs, and it indeed looked like D3D9, but I still couldn't figure out for the life of me what the hell was going on. It may be the DX7 specs were somewhat different in the lighting dept. But either way I decided it was just an illusion.
Anyway the real Achilles' heel of 16bpp is the black tint blend which is applied successively in the menus. If not for that tint I'd guess that 32bpp was never really the primary target (because everything else is 16bpp)
16bpp does not do well in the dark. And it does even worse when squashing a fully lit image into a dark image, ie. black tinting. The reason why is you're taking an already limited colour range and squashing it into (in Som's case) a half of that range. And then another layer of tint, and it's squashed again, and by the 3rd or 4th layer (which Som sometimes applies) there's just no range left at all and you end up with like a two colour image
So I'm thinking... with Ex at this point 16bpp pretty much never comes for free, and just ends up being converted to 32bpp anyway. So might as well cut out of 16bpp before the first layer of tint is applied. Up until Shader Model 3.0 the only way to do the colour conversion is draw everything to a 16bpp surface, then plaster that surface over a 32bpp surface as a texture. But 3.0 is the best quality target atm, and it can actually do the 16bpp conversion without any middle surface or even any coordination, so this should even be a performance booster in best quality mode as long as the middle surface is not required for any special effects.
With shaders you can even cheat and just do everything in 32bpp mode then do the 16bpp conversion with dither... which would look at least as good a 16bpp mode probably with better colour where blending is involved.
Sometime it may be worth setting up an auto-brightness effect to try to simulate the eye adapting to the light level. That would allow some more range to be reclaimed / would be interesting.
It's funny I mentioned setting the black level to just above true black in another post today, but I decided to chew that over for a little while longer because it had the weird effect of making dark games even darker. I wasn't sure why for a while but decided it's an optical illusion... which basically works because bright things seem darker next to other light things than next to dark things. Kind of like one day I spent quite a while trying to decide if my lighting calculations were wrong in the opening hallway off DD because whenever I got close to a torch it would get darker... that drove me nuts until I realize while walking towards/more under them they moved from a dark backdrop to a light backdrop and hence only seemed darker
^Weird thing was under DX7 I'm pretty sure they did not seem to become darker. But under D3D9 they did. I was worried about my shader, not D3D9. I based it on the D3D9 docs, and it indeed looked like D3D9, but I still couldn't figure out for the life of me what the hell was going on. It may be the DX7 specs were somewhat different in the lighting dept. But either way I decided it was just an illusion.