虚拟现实基础技术观察

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

At Page 707,5th paragrah.it write:If a normal vector is stored as three 32-bit floats,it has enough accuracy to point from Earth to a rock on Mars with sub-centimeter precision.

I think the float vector can represent the distance from EartMY543 h to Mars,but it can not in sub-centimeter precision.

Eric Hanies给我的回复:

We're quoting from this work:

[1207] Sowizral, Henry, Kevin Rushforth, and Michael Deering, The Java 3D API Specification, Addison Wesley, 1997.

This is online here:

B.8 Normal Representation and Quantization

Probably the most innovative concept in compressed geometry is the method of compressing surface normals. Traditionally, 96-bit normals (three 32-bit IEEE floating-point numbers) are used in calculations to determine 8-bit color intensities. Theoretically, 96 bits of information could be used to represent 296 different normals, spread evenly over the surface of a unit sphere. This is a normal every 2-46 radians in any direction. Such angles are so exact that spreading out angles evenly in every direction from earth, you could point out any rock on Mars with subcentimeter accuracy.

There are typos on this page, it should say "2^96", not "296", and "2^(-46)", not "2-46". See the original paper http://michaelfrankdeering.com/Projects/HardWare/CompressedGeometry/SigGeometryCompression.pdf for the proper passage. 

Note that he is not specifying the distance to Mars, he is saying that you could point in a direction from the Earth to a rock on Mars with subcentimeter accuracy. If you can show that this is incorrect, let us know and also write Michael Deering and discuss it with him.

By the way, a good recent article about normal compression methods is http://jcgt.org/published/0003/02/01/

总结:原文的意思是说从地标发出的射线夹角,即使到达火星后,也能在火星表面形成不到半厘米的扩散。我一开始理解成以地心为坐标原点,建立笛卡尔坐标系,在火星表面按坐标指示石块位置了。

 

At Page 818,Equation 17.12,the last parenthesis didn't match the first brack.Did it have another mean or only a mistake?

总结:作者给我回复。这里应该是个右大括号。

 

At Page 826,line 1没理解这里使用纹理在CPU进行更准确的多边形碰撞测试是什么。

 

At Page 858,Programmable Culling Unit怎么解决了Z-culling被关闭的问题呢?难道作者的意思失火你遇到Z-culling被关闭的时候记住还有PCU可用?

 

At Page 860,在vertex grouper and tessellator里already-transformed的顶点,在哪被reused了啊?还有SM3.0是什么啊?shader model?Xbox360上的vectors of 64 vertices没太懂。

 

At Page 862,第二小节这个vertex and pixel是Sequencer发出的指令,从Memory取得的吧。

                 第三小节的64 entries是什么,16个core乘以4个clock cycle,那为什么要强调是4个clock cycle?

                 Triangle traversal到ALU之间是怎么连接的?居然一次可以发送包含64pixels的vector。

                 为什么要把顶点组成quad呢?为什么不是triangle呢?

 

At Page 863,64 entry vector长啥样?

 

At Page 866,最后一节,同属于一个quad的点怎么会属于同一个三角形呢?

                 pixels that are outside the triangle是什么样子?

 

At Page 868,7块SPE吧?

                 总结,有一块备用,所以是8块。

 

At Page 872,tile的重要性到底有多高?Mali200称为tiling architecture,而XBox和PS3呢?

posted on 2015-09-28 14:10  Pt0lemaeus  阅读(386)  评论(0编辑  收藏  举报