社区
机器视觉
帖子详情
opengl中近裁减面的z值多少啊?0还是-1
flmn
2004-11-10 10:25:32
如题。
...全文
375
10
打赏
收藏
opengl中近裁减面的z值多少啊?0还是-1
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2004-11-22
打赏
举报
回复
严格意义上,投影平面是不存在的
它只是一个虚拟的平面, 这个平面距离视点距离多远不是问题
屏幕上的内容是投影平面光栅化后的结果,和屏幕分辨率,窗口大小相关的东西
图形学当中经常把它叫做视口 viewport
视锥则是world坐标系下的一个四棱台,视点在棱台的顶点
只有位于这个四棱台内部的物体才是可见
view坐标矩阵负责把world坐标系下的物体转换到这个四棱台的内部
此时远近裁减平面不起作用,通通会被变换的
远近裁减平面是在投影矩阵当中起作用的,和四个边框同等待遇,是裁减位于四棱台外部的物体的
一半说来,近裁减平面是个矩形,它的中心点和屏幕窗口的中心点重合的
经过view变换后,位于棱台内部的物体的xy坐标都在-1和+1之间的,
和窗口大小比例变换后才成为屏幕窗口坐标的
而z分量没有这么幸运, 它只是在投影矩阵作用后,一般才变换到0到1范围(其实可以是0 和 1区间内的任意一个范围, 比如 0.3 到 0.8 也是可以的 )
所以,你在使用gluUnproject变换的时候,xyz坐标当中xy是屏幕窗口坐标
z范围是0到1的一个数值,0对应近裁减平面1对应远裁减平面
找红宝书仔细看看这个部分吧,关于投影矩阵那块
syy64
2004-11-20
打赏
举报
回复
这是概念问题,近截面和远截面是为了控制场景大小。
flmn
2004-11-20
打赏
举报
回复
投影之后,传说xyz都到了-1和1之间,上下左右很清楚了,但是前后就不太清楚了
屏幕上的图像是投在近裁减面的图象么?
如果是,我用gluUnproject时传给他z为0可以得到近裁减面在世界坐标系的位置,传1得远裁减面
这样近裁减面z成了0了
如果屏幕上的图像不是投在近裁减面的图象,那是什么呢?
寻开心
2004-11-12
打赏
举报
回复
楼主的问题么有描述清楚
如果问的是z缓冲当中的数值
远近裁剪平面的z缓冲数值都是可以由用户指定的,范围一定是0到1.0中间的数值,不可能是负数
如果是近裁减平面到视点的距离
同样是正数,不可能是负数, 但是范围可以是任意, 具体采用那个数值,如同楼上的说法,要根据你的场景大小来选择, far/near的比值越小越好, 大的就会导致z精度下降,场景会闪烁
pinxue
2004-11-12
打赏
举报
回复
http://www.freecoder.org/~pinxue/OpenGL/opengl_ortho_near_far_analyst.htm
liufeng24
2004-11-12
打赏
举报
回复
z值做了归一化后只能在0和1之间,是1,不可能是-1
syy64
2004-11-11
打赏
举报
回复
0.1--10,跟坐标的大小有关.
zxl_llx
2004-11-11
打赏
举报
回复
houdy的对,其实是(-1)/n,如果n=0表示无穷远
houdy
2004-11-10
打赏
举报
回复
在摄像机空间内,近视截面可以表示为:<0,0,-1,-n>,其中(0,0,-1)表示平面的单位法向量,-n表示距离。
yjh1982
2004-11-10
打赏
举报
回复
0
远裁减面为1
z值最多0--1之间
OpenGL
: 深度冲突(Z-Finghting or Depth Fighting)的解决
OpenGL
,或者D3D 的深度缓存都存在精度问题,在最新的Nvidia GF8 系列显卡中已经开始应用float point depth buffer. 而在此之间,深度缓存其实只有位平
面
的概念. 这随API的不同,都需要指定后缓存深度缓存精度, Depth ,...
OpenGL
坐标系概览
世界窗口:在世界坐标系中定义一个对齐的矩形(aligned rectangle,即矩阵的边与坐标轴平行)的窗口,这个世界窗口外的部分被
裁减
并不被绘制。
OpenGL
会自动地做剪裁。 视口:在显示器的屏幕窗口上定义一个对齐的...
opengl
深度详解_什么是
OpenGL
中的深度、深度缓存、深度测试
1)直观理解深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度
值
!深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远优先能实现透视的...
什么是
OpenGL
中的深度、深度缓存、深度测试?
1)直观理解 深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度
值
!深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远...
翻译
openGL
的FAQ--可视和转换
翻译
openGL
的FAQ--可视和转换 原文参考点是http://www.
opengl
.org/wiki/index.php/Viewing_and_Transformations内容: 观察和转换 ------------------------------------------------------------------------...
机器视觉
4,450
社区成员
15,336
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章