2010-06-30 30 views
1

我需要在一些任意的非平面表面上画一个圆,但是这个圆应该放在表面上并且遵循表面的不规则形式。换句话说(这可能是一种可能的解决方案),它希望在鼠标指针附近的非平面上有像投影那样的“阴影”。我是否需要在内存中创建一个球体并将其投影到曲面上?是否有其他一些技术来实现相同的目标? 预先感谢您。在opengl的非平面上的圆形

回答

1

有两种方法可以做到这一点。首先,创建一个圆柱并将其与曲面相交,得到相交线段并绘制它们。如果你已经有了一个可以利用的数学库,并且如果你不必每帧都进行交叉,那么这可能是一个好主意。你会准确得到你想要的。

另一种选择,正如你已经建议的将使用投影。虽然我不确定,但您仍然可以清楚地看到表面上一个圆圈的阴影。但是,如果您的表面具有参数化纹理坐标,则可以创建一个印有圆的纹理,并将该纹理应用到曲面。