The other interesting insight I got was the use of DXT5 textures. I believe the point of partial derivative normal maps is that it uses one less cycle for unpacking the z value instead of using the standard sqrt(1 - x*x - y*y) to find the z value. In order to not sacrifice too much quality or too much texture size, we can put the XY in either a G8B8 texture (higher quality) or DXT5 (better compression) and unpack the Z value. DXT1 doesn't give enough quality and ARGB is too large. ![]() However, the downside of doing so is that you need your normals in three components of your texture. If your normals are half precision you can do a texture fetch, scale and bias, and normalize all in one cycle. Yes, PS3 can do a tex_bx2 (scale and bias texture fetch) instruction.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |