社区
游戏开发
帖子详情
求教一个很基础,但是困惑了我很久的问题,关于3D变换的(OpenGL/D3D).高分请教
潘李亮
2003-08-22 01:02:29
我们知道,当我们没有为OpenGL/D3D指定一个视图矩阵的时候,摄影机有一个默认的位置,就是在(0,0,0)位置,指向Z轴的负方向,就是说Z小于0的顶点才能看得见,但是我觉得把一个顶点和单位矩阵香乘的话,是不变的。应该是Z大于0的顶点才能看见的。也就是说摄影机的方向该指向Z的正方向才对,
那位大虾能给小第指点一二啊?
...全文
143
11
打赏
收藏
求教一个很基础,但是困惑了我很久的问题,关于3D变换的(OpenGL/D3D).高分请教
我们知道,当我们没有为OpenGL/D3D指定一个视图矩阵的时候,摄影机有一个默认的位置,就是在(0,0,0)位置,指向Z轴的负方向,就是说Z小于0的顶点才能看得见,但是我觉得把一个顶点和单位矩阵香乘的话,是不变的。应该是Z大于0的顶点才能看见的。也就是说摄影机的方向该指向Z的正方向才对, 那位大虾能给小第指点一二啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2003-08-23
打赏
举报
回复
GL里面从矩阵的数据来看,确实没有办法把所有数据都变换到(0,1)范围内的
它是把视锥内的数据变换到0,1范围内
使用这个矩阵肯定会把视锥外的变换到0,1之外。
在Z-BUFFER下,投影矩阵主要是做了一个除法,没有做乘-1的操作,所以不会拧z轴的
潘李亮
2003-08-22
打赏
举报
回复
但是我从GL里提取出来的矩阵没有办法解释它是把z变到(0,1)范围的。
寻开心
2003-08-22
打赏
举报
回复
投影矩阵的作用是先把x,y变换到(-1,1), z则是(0,1)的范围,然后把x和y范围与屏幕窗口位置和宽高对应起来。
潘李亮
2003-08-22
打赏
举报
回复
投影矩阵自己把Z轴给逆过来了。而且把坐标变成了(-1,1)的规范范围,然后再变成(0,1)的裁剪范围(我从投影矩阵和最后的坐标里估计出来的
tomb4
2003-08-22
打赏
举报
回复
hehe,sorry没仔细看
LOADIDENTITY调单位矩阵,摄像机方向是第三列向量(0,0,1,0)即指向Z+
投影矩阵是把眼坐标的点CLIP到裁减坐标,默认使用glDepthFunc(LEQUAL)表示片段Z值小则取代前面的,当然眼坐标也是(0,0,1,0)向Z+
寻开心
2003-08-22
打赏
举报
回复
?
我晕啦。
和投影矩阵有什么关系呐?
投影矩阵的作用是,假定电脑屏幕是摆放在相机方向上,距离NearClip上的一个幕布,它和相机最大的角度是fov。投影矩阵是把相机空间的图像变换到这个幕布上。
-z方向上的点是什么意思,是点本身坐标z分量数值是-数,还是说法向量?
从下向上看,只能看到朝下的面/点,是正常的啊。
潘李亮
2003-08-22
打赏
举报
回复
我已经明白了。默认的时候只能看到-Z方向上的点的。因为是投影矩阵的问题。
YangLin1ST
2003-08-22
打赏
举报
回复
视矩阵初始矩阵是单位矩阵,缺省的时候,第3列是(0,0,1,0),其中前面3个就是摄象机“前方”这个轴。显然是指象Z+的。同理,第一列(1,0,0,0),表示摄象机“左”这个轴,是指向X+的,第二列(0,1,0,0),说明摄象机的“上方”,是指向Y+的。不醒你改改看。
寻开心
2003-08-22
打赏
举报
回复
第一个问题,视矩阵初始矩阵是单位矩阵吗?(需要验证,GET出来看一下就知道了,很可能是单位矩阵)
第二个问题,即便是单位矩阵,那么它所代表的意义也不是你前面所说的指向-z方向。
我们知道变换矩阵的向量(行向量或者列向量——因为左手或者右手坐标系而不同),就是一个坐标系的单位长度的坐标轴和原点在另外一个坐标系当中的位置,方向和长度。
例如变换阵 T把一个坐标系A当中的点a变换到B坐标系当中的点b
那么T的行或者向量必然是,A的坐标系原点和方向向量,在B当中的位置和方向向量
根据这个原则,视矩阵的向量就是世界坐标系原点和坐标轴在相机空间当中的位置和方向。 如果视矩阵是单位矩阵,就表示两个坐标系是一模一样的,它的Z方向就是世界坐标系的Z方向,绝对不会是-z方向。
也就是说,缺省的情形,眼睛在世界坐标系的原点,向Z的方向看,不是-z方向。
其实这点你可以通过构造特殊的场景作为例子,测试出来。
在你的世界坐标系下, 在圆点位置偏上和偏下各放置一个不同颜色的盒子,就可以知道了。
tomb4
2003-08-22
打赏
举报
回复
"把一个顶点和单位矩阵香乘的话,是不变的。"
"应该是Z大于0的顶点才能看见的。也就是说摄影机的方向该指向Z的正方向才对"
这两句话有什么联系吗?
coolvoldo6
2003-08-22
打赏
举报
回复
“把一个顶点和单位矩阵香乘的话”
这个单位矩阵哪里来的啊?如果默认的View矩阵真是你说的
那样的话,View矩阵肯定不是单位矩阵
(我用DX,都是自己设置Camera的,默认的情况不是很清楚)
【antd】 ERROR in ./node_modules/antd/lib/button/style/index.less javascriptEnabled
仿照 antd写法,安装npm i -D less less-...ERROR in ./node_modules/antd/lib/button/style/index.less (./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]
创建maven项目的时候出错了,Error reading /....../pom.xml
创建maven项目的时候报错了,Error reading C:/Users/86153/IdeaProjects/javaweb/javaweb-01-maven/pom.xml 不明白什么原因,
求教
一些不错的资源(收藏,出处:http://search.csdn.net/Expert/topic/2480/2480003.xml?temp=.2231562)
[ASP组件]
一个
简易ASP UpLoad 组件的原码 www.blueidea.com/bbs/NewsDetail.asp?id=8457
请教
能否用ASP画曲线图 www.blueidea.com/bbs/NewsDetail.asp?id=866关于JMAIL如何在收件人处指定多个收件人 ...
知识融合开源工具Falcon-Ao和LIMES
是
一个
基于Java的自动本体匹配系统,已经成为 RDF(S) 和 OWL 所表达的 Web本体 相匹配的一种实用和流行的选择。 原理简介:https://mp.weixin.qq.com/s/NhZqwmiDhQGbDjuonwMWMw 官网链接:http://ws.nju.ed.
私房小菜菜谱和煲汤大全汇总
一、【煲汤的知识】“汤”的文化历史http://post.baidu.com/f?kz=13972875汤水 清润当道http://post.baidu.com/f?kz=13971631滋补品常用的功效与注意事项http://post.baidu.com/f?kz=12493233常用煲汤药物禁忌...
游戏开发
8,303
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章