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记——推导二维机翼的空气动力学系数
机翼的受力分析图 我们知道,空气对一个物体产生的升力和阻力以及力矩源于作用在整个物体上的压力分布和剪切力分布,所以我们分析上图可知(取单位展长的机翼): 对于上表面: ...
随机推荐
- 【C#】让工具栏ToolStrip能触发焦点控件的Leave、Validating、DataError等事件以验证数据
----------------更新:2014-04-21--------------- 蒙doggo兄指教,得知有更好的方法可以代替蹩脚的0尺寸Button法,即调用窗体的验证方法Form.Vali ...
- HTML 5 Web 存储
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储sessionStorage - 针对一个 session 的数据存储 html5 web sto ...
- 导入项目时Loading descriptor ...
最近导入了一个项目,始终在Loading descriptor ...,很长时间都没有结束. 这是Eclipse在从java.sun.com的服务器上下载配置文件,下载速度过慢导致的,其实配置文件不是 ...
- myeclipse中的文件内容被覆盖如何恢复
今天无意中,运行文件把原先的文件给覆盖掉了,通过查阅资料发现可以通过这样去恢复 点击被覆盖后的文件------->右击--------->选择replace with------>p ...
- No.013:Roman to Integer
问题: Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from ...
- 跨平台日志清理工具 Log-Cutter v2.0.1 RC-1 发布
Log-Cutter 是JessMA开源组织开发的一个简单实用的日志切割清理工具.对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能.如果用手工方 ...
- Oracle 免费的数据库--Database 快捷版 11g 安装使用与"SOD框架"对Oracle的CodeFirst支持
一.Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程序员熟悉Oracle使用也有机会接触到大 ...
- linux常用命令之文件系统
df df - report file system disk space usage 查看文件系统的使用清空 用法 df [-hi] [path] 选项 -h human readable ,以人类 ...
- Typescript 中类的继承
Typescript中类的定义与继承与后端开发语言java/C#等非常像,实现起来非常方便,而且代码便于阅读. 用Typescript写较大项目时是非常有优势的. /** * BaseClass */ ...
- Summernote – 基于 Bootstrap 的文本编辑器
Summernote 是一个简单,灵活,所见即所得(WYSIWYG)的编辑器,基于 jQuery 和 Bootstrap 构建.Summernote 所有主要的操作都支持快捷键,有一个功能强大的 AP ...