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记——推导二维机翼的空气动力学系数
机翼的受力分析图 我们知道,空气对一个物体产生的升力和阻力以及力矩源于作用在整个物体上的压力分布和剪切力分布,所以我们分析上图可知(取单位展长的机翼): 对于上表面: ...
随机推荐
- 奔跑的歌颂 diskgenius 找回了20G数据
2.0同学家的电脑不慎重装系统,结果默认重新分区.其他倒没什么数据,就是几千张记录孩子成长的照片最为珍贵.为了找回数据,用U盘启动,使用Diskgenius全部找回,在此奔歌一下.
- HTML 5 Web 存储
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储sessionStorage - 针对一个 session 的数据存储 html5 web sto ...
- js动态显示表格的汇总信息和详细信息
我在做数据结果展示的时候,想要实现一个如下的功能: 用户可以选择一个时间段,默认显示这个时间段的汇总数据,当鼠标点击这个时间段的时候,将显示每个时间点的详细数据,再次点击的时候,详细数据收起,只 ...
- Winform控件重写
Winform控件重写 因为最近的项目中越来越多的遇到了比较特殊的一些控件,有时候我们自己封装一下可能更加方便我们的使用,下面是我们项目中用到的,简单做一个记录. TextBox控件重写 主要的控制代 ...
- Csharp: Create Excel Workbook or word from a Template File using aspose.Word 14.5 and aspose.Cell 8.1
winform: /// <summary> /// /// </summary> /// <param name="sender"></ ...
- C语言文件方式输入与输出(最简洁方便实用的一种方式)
freopen("inputfile.txt", "r", stdin); freopen("outputfile.txt", " ...
- 修正 XE5 Android 键盘三个问题
说明:XE5 在 Android 平台上存在这一些键盘操作的问题,目前发现有下列几种: 按键盘上的隐藏键后,无法按上一页(需要修改 XE5 源码「FMX.VirtualKeyboard.Android ...
- ThinkCMF-上传多个图片源码解读
关键函数: /** * 多图上传 * @param dialog_title 上传对话框标题 * @param container_selector 图片容器 * @param item_tpl_wr ...
- linux下搭建php的集成环境
一个偶然的机会,在项目中需要搭建PHP的环境,由于PHP开发需要的东西比较多,像apache.mysql.PHP环境等,如果一个一个装很可能会有安装不全的问题,为此选择了安装集成环境,这里选择的是xa ...
- hive安装--设置mysql为远端metastore
作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试.将安装过程和最后测试成功的界面抓图提交 . 已有的当前虚拟机 ...
Normal Representation and Quantization