zoukankan      html  css  js  c++  java
  • Photoshop DDS转化插件的一些问题

    最近被老外提NORMAL效果不够好,建议我们使用DXT5来压缩NORMAL,而不是DXT1,我很纳闷,如果不是用DXT5NM,DXT1和DXT5效果应该是一样的才对,难道他指BC5,但BC5支持也还不广泛。后来还特地将原始TGA NORMAL分别压成DXT1和DXT5对比了下,确实DXT5比DXT1好很多,真奇怪,都用的RGB来存储XYZ,怎么会有差别了,当时也没多想,后来有空我测试了下,发现PS插件原来是这样压缩DXT1和DXT5的,如果原始图含RGBA 4个通道,你选择DXT1 WITH 1BIT ALPHA将它当作带ALPHA压缩,这样4色中有1色会被设置成完全无用的黑色,所以如果使用PS DXT PLUGIN存储DXT1时,如果没有ALPHA需求,一定将ALPHA通道给删了。后来只存储RGB 3通道的原图,则DXT1和DXT5效果完全一样。如果追求比较好的效果只能使用DXT5NM,就是将X分量存于DXT5独立压缩的A通道上,而将Y分量存储在有6bit精度的G通道上,同时将RB设置为相同值避免co-compression artifacts,如果是DX10可以考虑使用高精度,且体积小的BC5压缩方式,就是ATI的3Dc,另外还有个trick,我们即可用DXT1存也可以用DXT5存,可以保证shader代码不用变。如果存DXT1可以将X存入R通道,而Y存入G通道,不要ALPHA;如果存成DXT5格式,则将X存入ALPHA,Y存进G通道,且将R通道设置为1,这样shader中的解压代码都是:

    normal.x = R * Alpha;

    normal.y = G;

    normal.z = sqrt(1 - x^2 - y ^2);

  • 相关阅读:
    Android--用DownLoadManager下载完成后启动安装
    如何配置远程mysql服务器
    Appium python API 总结
    安装Appium-windows
    如何安装appium-linux
    Appium scroll 滑动查找
    monkeyrunner 自动化测试 图片对比的实现
    用alarmmanager 多次发送PendingIntent
    android 学习中的一些问题记录 主要是概念问题
    Citrix Xen Desktop安装配置
  • 原文地址:https://www.cnblogs.com/effulgent/p/2421662.html
Copyright © 2011-2022 走看看