Stage3D 中的PerspectiveMatrix3D
PerspectiveMatrix3D继承自Matrix3D。表示投影矩阵的功能类。
公式:用4X4矩阵向z=d的平面投影
public function perspectiveFieldOfViewLH(fieldOfViewY:Number,
aspectRatio:Number,
zNear:Number,
zFar:Number):void {
var yScale:Number = 1.0/Math.tan(fieldOfViewY/2.0);
var xScale:Number = yScale / aspectRatio;
this.copyRawDataFrom(Vector.<Number>([
xScale, 0.0, 0.0, 0.0,
0.0, yScale, 0.0, 0.0,
0.0, 0.0, zFar/(zFar-zNear), 1.0,
0.0, 0.0, (zNear*zFar)/(zNear-zFar), 0.0
]));
}
使用perspectiveFieldOfViewLH时,设定的是左手坐标系,投影平面在z=1的地方。
public function perspectiveFieldOfViewRH(fieldOfViewY:Number,
aspectRatio:Number,
zNear:Number,
zFar:Number):void {
var yScale:Number = 1.0/Math.tan(fieldOfViewY/2.0);
var xScale:Number = yScale / aspectRatio;
this.copyRawDataFrom(Vector.<Number>([
xScale, 0.0, 0.0, 0.0,
0.0, yScale, 0.0, 0.0,
0.0, 0.0, zFar/(zNear-zFar), -1.0,
0.0, 0.0, (zNear*zFar)/(zNear-zFar), 0.0
]));
}
使用perspectiveFieldOfViewRH时,设定的是右手坐标系,投影平面在z=-1的地方。
在实际应用中,要特别注意坐标系的选择,否则会出现屏幕上看不到物体的情况。
最新文章
- linux下apache各种跳转(包括伪静态)的配置
- iOS开发网络篇—发送json数据给服务器以及多值参数
- VS - 实用技巧
- boost.compressed_pair源码剖析
- jndi配置数据源
- iOS 检测版本更新
- android 监听app进入后台以及从后台进入前台
- github在eclipse中的配置
- hdu 5612 Baby Ming and Matrix games(dfs暴力)
- 【Android进阶】Android面试题目整理与讲解(二)
- Win10打不开chm文件的解决办法
- uploadify上传文件(2)--基础语法
- 一个简单程序快速入门JDBC
- linux 硬盘满了如何处理
- 11 python初学 (文件)
- Modbus库开发笔记:Modbus ASCII Slave开发
- ArchLinux安装Sublime Text 3
- Android Studio 解析json文件出现中文乱码解决方法
- 复刻smartbits的国产网络测试工具minismb-如何测试路由器
- 联想笔记本BIOS设置中文详解
热门文章
- 1、shader简介、渲染管线
- 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数
- 孤荷凌寒自学python第四十二天python线程控制之Condition对象
- 孤荷凌寒自学python第三十一天python的datetime.timedelta模块
- PAT——乙级1028
- URAL 1732. Ministry of Truth ( KMP 多模式串匹配 )
- C# 在子窗体调用父窗体的值(转)
- [poj] 2618 popular cows
- AE中实现Control中的各种图形工具的方法
- server reached pm.max_children setting (5), consider raising it