none
DX11 中关于顶点坐标的疑问 RRS feed

  • 问题

  • 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
    2012年9月24日 2:54

答案

  • 不知道你说的是哪个sample,但顶点一般是定义在物体坐标系,相继乘以W V P矩阵后才得到屏幕(投影)坐标。

    最终投影坐标原点(0,0)是设置的Viewport(屏幕/Back Buffer)的中心,坐标(-1,-1)到(1,1),物体坐标经过WVP变化后就到这个范围了,没必要自定义,W、V、P矩阵都可以用DirectXMath相应函数计算得到。

    仅供参考,欢饮讨论。


    Win8 Developer QQ Group 95331609


    • 已编辑 Raptor K 2012年9月24日 11:55
    • 已标记为答案 1096 2012年10月8日 3:37
    2012年9月24日 11:50
  • 有没有定义在3D空间中的sample呢

    作为一个d3d的sample,比较难理解。

    • 已标记为答案 1096 2012年10月8日 3:37
    2012年9月26日 11:01

全部回复

  • 投影坐标系。

    是的。

    线性缩小不会有影响,注意XNA  Camera的位置 还有相关的变换和纹理贴图。
    2012年9月24日 10:33
  • 不知道你说的是哪个sample,但顶点一般是定义在物体坐标系,相继乘以W V P矩阵后才得到屏幕(投影)坐标。

    最终投影坐标原点(0,0)是设置的Viewport(屏幕/Back Buffer)的中心,坐标(-1,-1)到(1,1),物体坐标经过WVP变化后就到这个范围了,没必要自定义,W、V、P矩阵都可以用DirectXMath相应函数计算得到。

    仅供参考,欢饮讨论。


    Win8 Developer QQ Group 95331609


    • 已编辑 Raptor K 2012年9月24日 11:55
    • 已标记为答案 1096 2012年10月8日 3:37
    2012年9月24日 11:50
  • 是MSDN绘制三角形的sample(参考http://msdn.microsoft.com/zh-cn/library/windows/apps/jj552950.aspx

    我查看了sample中shader的代码,确实没有进行w v p的转换

    谢谢楼上

    2012年9月25日 2:15
  • 这个例子是纯2D的,顶点直接定义在2D空间了


    Win8 Developer QQ Group 95331609

    2012年9月25日 5:52
  • 有没有定义在3D空间中的sample呢

    作为一个d3d的sample,比较难理解。

    • 已标记为答案 1096 2012年10月8日 3:37
    2012年9月26日 11:01