D3D透视投影矩阵推导

摘要: D3D的设备空间为:x ∈[-1, 1] y ∈[-1, 1] z ∈[0, 1],坐标系为左手坐标系,下面推导D3D的投影矩阵:设:点P在Camera坐标系下坐标为:, , 在Camera坐标系下*剪切*面的坐标为:(x’, y’)在设备空间中投影后的坐标为(x, y, z)Frustum的*剪切*面在Camera坐标系下的坐标范围为: x ∈[l, r], y ∈[b, t], z ∈[n, f] 1. 先求得Camera坐标系下*剪切*面的坐标:(x’, y’)利用三角形形似得: 2. 求得(x, y, z)和(x’, y’)之间的关系这里是利用线性插值,把(x’, y’)... 阅读全文
posted @ 2012-04-16 17:11 Once 阅读(951) 评论(0) 推荐(1)

【转】Nvidia Normal Map 插件参数之详解

摘要: [翻译]Nvidia Normal Map 插件参数之详解版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://lichong.blogbus.com/logs/40862743.html普通的选项这部分选项没有特定分类“Dynamic Preview”:使用一个小图标来简单地预览当前设置能产生的结果“Add Height to Normal Map”选项:该选项让此插件把一张高度图的法线信息添加到已有的一张Normal Map中。然而,由于Normal Map使用RGB三个通道,且在插件运行的时候,除了当前的图片你无法选择别的图片,所以你必须把高度图信息存放在当前No 阅读全文
posted @ 2011-07-02 14:26 Once 阅读(1824) 评论(0) 推荐(0)

【转】浮点数在计算机中存储方式

摘要: 原文链接:http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html 作者: jillzhang 联系方式:jillzhang@126.com 本文为原创,转载请保留出处以及作者, 谢谢 C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double... 阅读全文
posted @ 2010-10-04 14:19 Once 阅读(128) 评论(0) 推荐(0)

【转】透视投影,与Z BUFFER求值

摘要: 原文:http://www.niuniuzhu.cn/blog/post/8.html为什么有透视。因为眼球是个透镜。假如地球生物进化的都靠超声波探测空间,那也许眼睛就不会有变成球,而是其他形状...为什么有人玩3D头晕?其中一个重要的作用是,眼球不完全是个透镜。所以当视野大于60度,屏幕四周投影的变形就比眼球投影视网膜利害多。而且人脑习惯了矫正眼球投影的信息。突然有个屏幕上粗糙的模拟眼球成像,大... 阅读全文
posted @ 2010-10-02 19:09 Once 阅读(268) 评论(0) 推荐(0)

【转】探讨:3D透视投影变换详解-兼谈视平面和屏幕的宽高比问题

摘要: 原文:http://www.cnblogs.com/soroman/archive/2006/09/17/509598.html感觉很多书上都没讲清楚透视投影变换的推导过程,自己推导了下,以前一直含糊的关于方形/非方形的视平面和屏幕的宽高比的问题也有了答案.本文组织如下:1.相机空间到视平面的变换2.视平面到屏幕的变换3.综合4.一般情形1.相机空间到视平面的变换 * p (xc,0, zc) /... 阅读全文
posted @ 2010-10-02 18:07 Once 阅读(855) 评论(0) 推荐(0)

【转】关于Z - Buffer的几篇文章

摘要: Z-Buffer 与 W-Buffer http://www.cnblogs.com/cofd/archive/2007/12/01/979473.htmlDepth-Buffer(深度缓存)有两种:Z-Buffer 和 W-Buffer,这里讨论这两种深度缓存的区别,以及如何在两者之间转换。 w 的含义3D空间点的坐标是(x,y,z),为了使矩阵乘法具有平移变换的功效,我们用4D空间中的点(x,... 阅读全文
posted @ 2010-10-02 17:42 Once 阅读(526) 评论(0) 推荐(0)

【转】深入探索正交投影变换

摘要: 原文:http://blog.chuckzhang.net/2009/09/insideortholh/在具体研究之前我觉得有必要把平面投影的分类简单介绍一下,目的是为了让大家有一个总体的认识,从而更好的理解这个知识体系。请看下图:平面投影分为平行投影和透视投影两种类型,后者我们在前两篇文章中介绍了。平行投影则是具有矩形观察体的投影方式(透视投影则是视锥观察体),它不会根据物体离视点的远近缩放物体... 阅读全文
posted @ 2010-10-02 17:04 Once 阅读(741) 评论(0) 推荐(0)

【转】矩阵的几何解释

摘要: 原文:http://www.cppblog.com/lovedday/archive/2008/01/09/40813.html一般来说,方阵能描述任意线性变换。线性变换保留了直线和平行线,但原点没有移动。线性变换保留直线的同时,其他的几何性质如长度、角度、面积和体积可能被变换改变了。从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或&#... 阅读全文
posted @ 2010-10-02 15:29 Once 阅读(515) 评论(0) 推荐(0)

【转】AxisAlignedBox

摘要: 矩形边界框另一种常见的用来界定物体的几何图元是矩形边界框,矩形边界框可以是与轴对齐的或是任意方向的。轴对齐矩形边界框有一个限制,就是它的边必须垂直于坐标轴。缩写AABB常用来表示axially aligned bounding box(轴对齐矩形边界框),OBB用来表示oriented bounding box(方向矩形边界框)。轴对齐矩形边界框不仅容易创建,而且易于使用。一个3D的AABB就是一... 阅读全文
posted @ 2010-10-02 15:12 Once 阅读(521) 评论(0) 推荐(0)

【转】DirectX下 Viewing Frustum 的详细实现

摘要: 文档:《Fast Extraction of Viewing Frustum Planes from the World-View-Projection Matrix》原文地址:http://www.cnblogs.com/xfxsworld/archive/2007/11/17/962485.htmlDirectX下 Viewing Frustum 的详细实现本文大部分内容翻译自Gil Grib... 阅读全文
posted @ 2010-10-02 15:07 Once 阅读(179) 评论(0) 推荐(0)