积极答复者
DX11 中关于顶点坐标的疑问

问题
-
hi
我在绘制三角形前,要设置顶点的坐标,在sample中,顶点坐标的坐标值是(0.5,-0.5)(-0.5 ,-0.5) (0.5 ,0.5)等
问题一:这个值是基于哪个坐标系的? 屏幕坐标系? 投影坐标系?
问题二:坐标系的中心点是不是在屏幕中心? 并被切割为四个象限,范围是x轴和y轴 -1到1?
问题三:问题二中的坐标范围能修改吗? 我在移植一套xna的代码到dx11,在xna中三角形的顶点坐标都比较大(比如256),然后绘制出来的是一个在屏幕上256高宽的一个三角形,我想应该要把这个256转换到-1到1的范围,但总觉得这么做有点奇怪,有没有其他的地方需要注意? 比如哪些设置?
非常感谢大家的回复!
- 已编辑 1096 2012年9月24日 2:55
答案
-
不知道你说的是哪个sample,但顶点一般是定义在物体坐标系,相继乘以W V P矩阵后才得到屏幕(投影)坐标。
最终投影坐标原点(0,0)是设置的Viewport(屏幕/Back Buffer)的中心,坐标(-1,-1)到(1,1),物体坐标经过WVP变化后就到这个范围了,没必要自定义,W、V、P矩阵都可以用DirectXMath相应函数计算得到。
仅供参考,欢饮讨论。
Win8 Developer QQ Group 95331609
全部回复
-
不知道你说的是哪个sample,但顶点一般是定义在物体坐标系,相继乘以W V P矩阵后才得到屏幕(投影)坐标。
最终投影坐标原点(0,0)是设置的Viewport(屏幕/Back Buffer)的中心,坐标(-1,-1)到(1,1),物体坐标经过WVP变化后就到这个范围了,没必要自定义,W、V、P矩阵都可以用DirectXMath相应函数计算得到。
仅供参考,欢饮讨论。
Win8 Developer QQ Group 95331609
-
是MSDN绘制三角形的sample(参考http://msdn.microsoft.com/zh-cn/library/windows/apps/jj552950.aspx)
我查看了sample中shader的代码,确实没有进行w v p的转换
谢谢楼上