Real-Time Rendering读书辩疑琐记
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呢?
Real-Time Rendering读书辩疑琐记的更多相关文章
- Anderson《空气动力学基础》5th读书笔记 第2记——流体静力学初步
与物体在水中受到水的浮力一样,空气中的物体也会受到空气的浮力,但由于这个浮力往往比较小,实际中的很多问题我们常常将它忽略,而对于像热气球这样的靠空气的浮力产生升力的飞行器来说,空气的浮力是不能忽略的. ...
- Anderson《空气动力学基础》5th读书笔记 第1记——流动相似性
在飞机真正上天之前,我们常常需要制作出缩小版的模型放在风洞中吹呀吹,尽可能地模拟真实飞行中的参数,这时我们就需要实现流动相似性,这便是本记要讲的. 文章目录 一.流动相似性的标准 二.流动相似性的应用 ...
- Anderson《空气动力学基础》5th读书笔记 第4记——黏性流动入门
目录 一.边界层的概念 二.边界层的产生原因 三.剪切力的公式 四.温度分布情况 五.雷诺数与层流.湍流 一.边界层的概念 我们先来介绍边界层的概念(边界层正是黏性流动的产物),边界层是紧挨物体的薄层 ...
- asp.net 琐记
Page的AutoEventWireup作用是是否引发PreInit Load PreRender Unload几个页面处理流程事件 和控件的事件处理函数无关
- lucene4入门(3)琐记
欢迎转载http://www.cnblogs.com/shizhongtao/p/3440486.html <--这个是lucene4.6的api下载地址,格式是chm的.需要的人可以下载htt ...
- Java琐记
svn项目倒入,所选的文件夹一定是src上面以及的:然后eclipse会自动创建一个项目,项目名称就是src上级文件夹的名称:然后会按照路径下的文档结构如导入到eclipse的结构中: 被标记为// ...
- C++关于变量初始化的琐记
#include <iostream> using namespace std; class Base{ virtual void func1() { cout<<" ...
- mysql SQL优化琐记之索引
equal最好了,其次in,最后是range != <> 这类非操作尽量不用,它会转换为range.>都是范围查询 复合索引有左匹配原则,(clo_a,clo_b)相当建立了两个 ...
- Anderson《空气动力学基础》5th读书笔记 第5记——推导二维机翼的空气动力学系数
机翼的受力分析图 我们知道,空气对一个物体产生的升力和阻力以及力矩源于作用在整个物体上的压力分布和剪切力分布,所以我们分析上图可知(取单位展长的机翼): 对于上表面: ...
随机推荐
- ASP.NET中Request.RawUrl、Request.Url的区别
如果访问的地址是: http://hovertree.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu 那么 ...
- ASP.Net中防止页面刷新重复提交的几种方法
[摘要] 目前很多网站都要提交页面插入或更新数据库,比如留言本,一个用户提交留言后,如果按F5,就会重新提交一遍留言,导致数据库出现两条一模一样的留言,本文介绍了几种防止页面刷新,导致重复提交数据的方 ...
- Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The ...
- ASP.NET中的随机密码生成
第一种方法:用.NET中的 Sytem.Guid.NewGuid().ToString() 生成,实际上是对一个128bit数字的十六进制输出.生成的字符由0-9和a-z这几种字符组成,也可能会有“- ...
- ZooKeeper----Java实例文档
**************************************************************************************************** ...
- volcanol_Linux_ 问题汇总系列_4_Thinkpad_E40_0578MDC_在Fedora 13 Linux(FC13)中如何安装无线网卡驱动
今天晚上,我突然想在自己到笔记本上安装linux系统,因为我自己第一次接触到的linux是红帽支持到Fedora Core 4,所以一直最中意的linux 发行版本是FC系列,同时由于FC 15以后到 ...
- Sublime搭建Python开发环境
print ('hello world!') 1. 下载python,并设置path系统环境变量:当在命令行中输入python,出现如下界面,显示安装成功. 2. 安装最新的sublime,使用注册机 ...
- NYOJ:题目490 翻译
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=490 这题的输入输出格式好像描述的不太清楚,1)可能是所有数据都完成输入,然后再输出(解法 ...
- Android填坑系列:Android JSONObject 中对key-value为null的特殊处理
在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同. Android自带的org.json对key-value都要求不能为null,对于必 ...
- 解决asp.net动态压缩
本来想写一个网站优化的系列(前端到后端的数据库,垂直优化到分布式,后面会补上),但没有时间(借口),今天就总结一下前几天优化网站的过程. 网站优化重点在于找出出现性能问题的地方,往往是解决方案很简单, ...
Normal Representation and Quantization