我正在制作一个编辑器,我想在其中构建地形图.我想用鼠标来增加/减少地形高度来创造山脉和湖泊.
从技术上讲,我有一个高度图,我想在我用鼠标选择的某个texcoord上进行修改.要做到这一点,我首先从屏幕坐标到世界位置 - 我已经做到了.下一步,从世界位置到选择正确的纹理坐标让我感到困惑.我怎么做?
如果您使用简单的高度贴图,则可以将其用作 y 方向的位移贴图。基础网格位于 xz 平面 (y=0) 中。
您可以丢弃计算出的世界坐标中的 y 坐标,并获得基础网格上的点。从那里您可以将其映射到纹理空间,就像映射纹理一样。
我不会那样实施。我会将场景渲染到帧缓冲区,而不是渲染网格纹理,而是将纹理坐标进行颜色编码到网格上。如果我单击屏幕空间中的某个位置,我可以简单地从帧缓冲区读取像素值并直接获取纹理坐标。无论如何,帧缓冲区的渲染应该非常便宜。
归档时间: |
|
查看次数: |
362 次 |
最近记录: |