OpenGL ES1.1.12 第二章 2.1.1
来源:互联网 发布:visio mac版 下载 编辑:程序博客网 时间:2024/06/10 07:46
(仅是草稿,未做整理)
2.1.1数值运算
在GL运行的过程中必须执行许多的计算。Common profile的实现将要涉及到浮点计算,并且必须满足以下“Floating-PointComputation”所定义的范围和精度。Common profile lite的实现将要涉及到定点计算,并且必须满足“Fixed-PointComputation”所定义的范围和精度。但Common profile lite依然可以使用浮点运算。
浮点计算(Floating-Point Computation)
这里没有介绍如何表示浮点数,及它们如何计算。只是简单的要求浮点必须包含足够的bit数,及其指数足够大,使之能生成精度在1/10^5范围内唯一的结果。位置和正交坐标浮点数最大必须至少为2^32。颜色和纹理坐标幅度值必须至少2^10。其他的幅度值必须至少2^32。
x .0=0 . x =0
1 .x = x .1=x
x +0=0+ x = x
0^0 =1
后续将进一步说明浮点数的要求。大部分单精度的浮点都满足这些要求。
需要浮点数据的GL命令的输入来说,任何表示浮点的数值都都是合法的。而对于这样的GL命令,如果输入不是浮点数据,那么其结果是未定义的,但必须不能引起GL中断或终止。如,在IEEE算法中,一个负0值或者十进制值用在GL命令中,其结果是可预知的,如果是一个NaN值或无穷大的数值,那么结果也是未定义的。如果x值不是浮点值,那么以上定义的等式将不成立。
定点计算(Fixed-PointComputation)
内部计算中可以用定点或浮点算法。定点运算的精度必须在(+-)2 ^-15之间。用于表示位置和正交坐标的定点值的最大值必须至少2^15。颜色和纹理坐标幅度值必须至少2^10。其他的幅度值必须至少2^15
x .0=0 . x =0
1 .x = x .1=x
x +0=0+ x = x
0^0 =1
定点计算可能会导致数值溢出(上溢下溢)。这样的结果是未定义的,但必须不能引起GL中断或终止。
总的要求
不管是用定点计算还是浮点计算,下面的约束是所有GL实现必须满足。
如16.16注释表明,一个32-bit的定点二进制补码拥有16bit的部分。如果一个顶点用16.16表示,那么模型视图和投影矩阵也可用16.16表示。眼睛空间和NDC空间的顶点结果用16.16表示(见2.10部分),即用有限的动态范围立即数来计算,那么转换流水必须计算眼空间和NDC空间顶点,必须达到一定的精度。如溢出是不可接受的。
在需要除法计算的情况下,包括向量归一化中要需求的隐式除法,除0计算的结果是未定义的,但必须不能引起GL中断或终止。
- OpenGL ES1.1.12 第二章 2.1.1
- OpenGL ES1.1.12 第二章 2.1
- OpenGL ES1.1.12 第二章 2.6 2.6.1
- OpenGL ES1.1.12 第二章 2.10 2.10.1
- OpenGL ES1.1.12 第二章 2.5
- OpenGL ES1.1.12 第二章 2.7
- OpenGL ES1.1.12 第二章 2.8
- OpenGL ES1.1.12 第二章 2.9
- OpenGL ES1.1.12 第二章 2.9.2
- OpenGL ES1.1.12 第二章 2.10.2
- OpenGL ES1.1.12 第二章 2.10.3
- OpenGL ES1.1.12 第二章 2.2,2.3,2.4
- OpenGL ES1.1.12 目录
- OpenGL ES1.1.12 第一章
- OpenGL ES1.1.12版权说明
- opengl es1.1 平台搭建
- OpenGL ES1.1与OpenGL2.0函数集合,固定管线与可编程管线
- Opengl ES1 笔记 2013-04-24
- java函数参数类型后添加三点的用法
- 用Python写一个简单的中文分词器
- 结合EF5.0讲MVC4(二)
- 如何更改织梦(dedecms)的RSS、sitemap路径至根目录
- 远程桌面配置——收藏网址
- OpenGL ES1.1.12 第二章 2.1.1
- jquery文件上传例子(两种方式)
- linux 0.11内核源码 malloc 的实现
- 坐标
- .NET 程序员必备工具下载
- Windows NT 6 音频设备控制
- 看移动创业问答
- Apache Hadoop集群的安全性架构
- Yacc 与 Lex 快速入门