opengl坐标系 opengl坐标系原点
精选回答
蝴蝶花 2024-05-07 11:55:03
opengl坐标系 opengl坐标系原点
1、众所周知,在固定管线的OpenGL中只能使用右手坐标系,OpenGL并没有提供API让你在左右手坐标系中切换。
2、而在可编程管线的OpenGL中,就没有那么多限制了,所有的Vertex Transform都由你来控制。
3、事实上,你直接把左手坐标系的顶点和矩阵传给OpenGL Shader也是没有问题的,在Vertex Shader使用mul(v, matrix)变换顶点,得到的会是跟Direct3D同样的结果。
4、注意是跟Direct3D同样的结果,而不是跟固定管线OpenGL相同的结果,事实上,正如上面所说,左右手坐标系渲染的结果的左右颠倒的。
5、唯一要区别的是Viewport的Z,在OpenGL中,裁剪空间的Z坐标是[-1. 1],而在Direct3D中是[0, 1],而经过Viewport变化后,不管是OpenGL还是Direct3D, Z都是[0, 1], OpenGL的视口变化是 Z=(Z/W + 1) / 2 ,而Direct3D是Z=(Z/W),这对DepthTest不受影响,Depth Test只比较相对位置远近,但Depth Buffer的值就不同了。
6、所以需要对project matrix做一些调整,才能让他们写到depth buffer中的数值相同。
7、具体来说,如果要让OpenGL流水线接受D3D的project matrix,就需要乘上相当于把project space的顶点z都作了z = z * 2 – 1的操作,所以经过viewport变换就一致了。
![](http://yyk.iask.sina.com.cn/pic/fimg/160992411423168984782.jpg)
相关推荐
游鉴湖秦观原文翻译
宋朝是文学作品发展的高峰时期,有很多文人留下了不少经典的作品。比如说苏轼、李清照、辛弃疾、秦观等一大批优秀的诗词作家,都有脍炙人口的作品。游鉴湖秦观原文翻译游鉴湖[宋]秦观画舫珠帘出缭墙,天风吹到芰荷乡。水光入...
展开详情雨果的创作生涯可分为几个时期
雨果1802年2月26日出生于法国东部城市贝桑松,出生6周后,雨果随父母到处奔波。雨果幼时便显露出极高的文学天赋,后来的创作产生了不小的影响。雨果的创作生涯可分为几个时期雨果的创作生涯可分为四个时期。第一个创作...
展开详情歌德的少年维特之烦恼是一部什么小说
歌德1749年8月28日出生于法兰克福镇的一个富裕家庭。小时候歌德的父亲非常严肃,相反,母亲用不同于父亲的温柔母爱来安慰、保护着歌德、鼓励和引导他的学习兴趣,努力培养歌德正确理解文学的能力。歌德的少年维特之烦恼...
展开详情马致远元杂剧代表作
马致远,元代著名的文人代表,号东篱,常被称为马东篱,他被称为“元曲四大家”之一。马致远的作品风格典雅,语言精妙,他的作品在元代时期就很有名气,广受人们的喜爱。马致远的戏曲作品以神仙道化作品为主,故他有“马神仙”...
展开详情李清照早期词风是什么
李清照,号易安居士,其作品多为婉约风格,属于婉约派代表词人。她有“婉约之词宗”之称,开创了重要的词体“易安体”,该词体对词坛影响深远。李清照是文学史上有名的天才女作家,被称为“千古第一才女”,在我国文学史上占据...
展开详情