1) Generate Initial vertexes from road Lines
2) Find Intersections Vertically and add in order to the buffer
3) Find Intersections Horizontally and add in order to the buffer
4) Find Intersections Diagonally and add in order to the buffer
5) Find texture coordinates for each vertex in buffer
2 回答
这是我为实现结果所做的算法:
对于每条道路:
在我们按顺序排列顶点之后,我将它传递给Tesselator以绘制最终的凹多边形 . Aandvoilà!
对于一个非常简单的道路模型,您可能想要做的只是将每个方块计算为两个三角形,找到道路顶点所在的两个三角形中的哪一个,然后将其高度计算为一个点 . 三角形所在的平面 .
根据道路相对于网格大小的复杂程度,您还可以平均四个角的高度,然后将其用作一对顶点的高度值,然后在它们之间做一个四边形(它们必须是共面的,就像任何四边形一样,这是一个问题,除非你使用额外的三角形来模拟道路上的转弯) . 除此之外,使用两个三角形 .
看看这个:
http://www.opentk.com/node/3179