我目前正在使用LWJGL,但如果您有OpenGL解决方案,我也可以使用它。
现在,我正在尝试将一个选择区域应用到我可以用鼠标移动的平面上(就像我上面的可怕绘图)。我试图让它平坦到飞机上,所以它可以越过任何障碍物。我考虑过投影纹理,但我不知道如何实现它。这是解决问题的好方法还是有更好的选择?
编辑:如果有所不同,这将移动到另一个纹理。
答案 0 :(得分:3)
当你已经知道世界空间中的交叉点时,有一个相对简单的解决方案不需要投影纹理:
在片段着色器中计算交叉点与当前片段之间的世界空间距离。当两者之间的距离小于圆的所需半径时,应绘制选择颜色。否则只绘制法线平面。
float dist = length(current_ws - intersection_ws);
if (dist < circle_radius)
//Draw overlay
else
//Draw plane normal