String Of Brilliant Blue
QQ群 8082814
随笔- 32  文章- 31  评论- 129 
博客园  首页  新随笔  联系  管理   
2012年3月28日
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);

posted @ 2012-03-28 17:38 effulgent 阅读(236) 评论(0) 编辑
2012年2月17日
对scheme的一些理解(3)
摘要: 断断续续读到SICP第三章,觉得scheme有点入门了,不过长久不练习,脑子又不能适应函数式编程模式了,觉得3.17、3.18、3.19还比较有意思,贴个自己的解题思路吧。阅读全文
posted @ 2012-02-17 16:19 effulgent 阅读(192) 评论(0) 编辑
2011年12月4日
对SCHEME的一些理解(2)
摘要: 平时抽空看看SICP,主要是为了理解一些UNIX设计问题,另外也能揣摩最早一批计算机黑客的技术发展历程,UNIX将一切都是文件,一切最好都用文本的思想全面贯彻到系统设计中,我想要领悟其哲学,必定得掌握最接近机器模型的C语言和最强文本处理能力的LISP。阅读全文
posted @ 2011-12-04 18:18 effulgent 阅读(286) 评论(0) 编辑
2011年11月28日
对SCHEME的一些理解(1)
摘要: 最近抽空阅读SICP,并重温《黑客帝国》这个电影给了我在计算机程序设计上有了一些灵感的启发,在正式谈论SICP之前我想先对scheme及其在程序设计语言中的地位作个简单解释,LISP是一门非常古老的语言,据说仅FORTRAN比其老迈,在经历多年落寞之后LISP突然焕发光彩,新近的流行语言不断从中吸取养分,茁壮成长,比如C#加入LAMBDA表达式,JS的闭包,垃圾回收等,为什么LISP在分支方言众多,而且没有组织统一维护的不利状况下能如此潇洒得意。现在将自己的一些理解写下笔记,方便后面温习查询。阅读全文
posted @ 2011-11-28 16:37 effulgent 阅读(2132) 评论(4) 编辑
2011年10月30日
整数二进制补码的数学原理(two's complement)
摘要: 最近重新学习CPU体系结构,对使用二进制补码原理来消除带符号数和无符号数计算差异,以及整合减法运算器到加法运算器,从而简化CPU硬件设计的原理很感兴趣,所以特地思考了下,查看了一些网上关于two's complement的文章,但大部分还是太过学术,经过整理,我想以一种比较简洁的方式表达出来。为了简单起见,我使用了4位字长的寄存器作为例子,32位和64位道理一样。想了解补码更为科学的数学原理可以参考wikipedia关于one's complement、two's complement的相关文章。阅读全文
posted @ 2011-10-30 13:36 effulgent 阅读(1625) 评论(1) 编辑
2010年8月27日
Vray的全局照明(Global Illumination)算法原理与比较(图文)
摘要: 转篇VRay的文章,讲述了其算法大致原理,有兴趣的朋友可以看看阅读全文
posted @ 2010-08-27 11:47 effulgent 阅读(1002) 评论(0) 编辑
2010年4月15日
关于D3D9显示格式的解释
摘要: 程序员被D3D的一堆格式搅的心神不宁、如坠云雾,这是可以理解的,因为MS对底层封装一般,而且不对情形做任何解释,我只能在主观猜测的基础上对显示系统做个最粗浅的说明,权当参考,希望对初学者有帮组。D3D将顶点绘制到最终的显示器上经历了太多了磨难,但我不在此不说明顶点变换和光栅化部分,因为这属于3D图形范畴,这里要阐明的是D3D没有开放给程序员的部分,viewport以及从PS里出来到显示器上对应像素的流程。 阅读全文
posted @ 2010-04-15 17:06 effulgent 阅读(1108) 评论(0) 编辑
2009年12月17日
关于光栅化和MSAA的一些讨论
摘要: 关于MSAA和光栅化的一些讨论,出自http://www.opengpu.org/bbs/阅读全文
posted @ 2009-12-17 16:00 effulgent 阅读(1102) 评论(0) 编辑
2009年12月8日
程序员面对分歧和难题应当具备的态度
摘要: 能力不是最重要的,态度才是决定因素。程序员由于幼年受虐,缺乏异性关爱,以及鲜与人类交流等特殊原因,滋生了很多心理疾病,点一盏明灯,照亮这些阴暗角落,愿大家健康茁壮成长。阅读全文
posted @ 2009-12-08 14:48 effulgent 阅读(1602) 评论(7) 编辑
2009年8月7日
坐标变换
摘要: 图形学数学基础中,总能看见把(x,y,z,1)称为齐次坐标,而把(x,y,z)称为普通坐标,我觉得可能理解有问题,当然我对数学也知之甚少,希望一起讨论。阅读全文
posted @ 2009-08-07 12:35 effulgent 阅读(1362) 评论(5) 编辑
仅列出标题  下一页
Copyright ©2012 effulgent