【发布时间】:2013-05-04 05:41:48
【问题描述】:
我正在使用 Direct3D 从顶点缓冲区中绘制顶点,顶点格式为FVF_XYZ。
我现在想实现画线的功能。在 3D 空间中绘制一条线时,我将端点投影到 2D 屏幕空间并使用我的函数从 2D 空间绘制一条线。我的问题是这个功能。
我的顶点缓冲区包含坐标为(0,0,0) 和(1,0,0) 的两个顶点。我打算用基本的数学和转换将这条基本线转换为我的最后一行。
问题是,当我想将一个顶点渲染到屏幕坐标(0,0) 时,我不知道如何设置转换矩阵。
根据我的理解,在将世界、视图和投影矩阵设置为身份时,我应该以屏幕坐标 (0,0) 结束,但 (0,0,0) 然后结束在屏幕的中心。
我需要如何设置世界、视图和投影矩阵,以便从(0,0,0) 转换为(0,0) 以及从(1,0,0) 转换为(1,0) 等等?
【问题讨论】:
标签: c++ directx rendering transformation direct3d