惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
B
Blog RSS Feed
美团技术团队
博客园 - 【当耐特】
C
Check Point Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
Vercel News
Vercel News
P
Proofpoint News Feed
IT之家
IT之家
I
InfoQ
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - effulgent

D3D11中的MSAA 对SCHEME的一些理解(4) 对scheme的一些理解(3) 对SCHEME的一些理解(2) 对SCHEME的一些理解(1) 整数二进制补码的数学原理(two's complement) Vray的全局照明(Global Illumination)算法原理与比较(图文) 关于D3D9显示格式的解释 关于光栅化和MSAA的一些讨论 程序员面对分歧和难题应当具备的态度 坐标变换 CGDC见闻 RV870和GT300的一些猜测 在游戏中充分利用可编程的GPU 并行编程的基础 深入理解Direct3D9 深入理解GPU Architecture(上) 深入理解Intel Core Microarchitecture 星际2的一些技术特性
Photoshop DDS转化插件的一些问题
effulgent · 2012-03-28 · via 博客园 - effulgent

最近被老外提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);