3d图形学与hlsl着色器基础鼠标拾取.pptxVIP

  • 3
  • 0
  • 约2.94千字
  • 约 16页
  • 2022-04-29 发布于北京
  • 举报
网络游戏开发 ——DirectX;概要:;1、鼠标拾取;1、鼠标拾取;1、确定鼠标选取点的屏幕坐标;根据比例关系,screenPt与投影空间上的点projPt之间的关系为 假设图形程序窗口的宽为screenWidth,高为screenHeight, projPt.x = (screenPt.x-screenWidth/2)/screenWidth*2; projPt.y = (screenPt.y-screenHeight/2)/screenHeight*2; projPt.z =0;(实际该值可任意取,不影响最终结果。为了处理简单,我们取改值为0,表示该点取在近剪切面上);我们可以通过?GetTransform(D3DTS_PROJECTION,?ProjMatrix)函数获得投影矩阵ProjMatrix,则根据观察空间到投影空间的变换关系则 (projPt.x*projPt.w,projPt.y*projPt.w,projPt.z*projPt.w,projPt.w) ?= (viewPt.x,viewPt.y,viewPt.z, 1)*pProjMatrx;;化简一下三个分量同除近剪切面z坐标Zn,该方向矢量可写作 DIRview = (projPt.x/projMatrix._m11,projPt.y/projMatrix._m22,1) 代入公式 projPt.x =

文档评论(0)

1亿VIP精品文档

相关文档