【发布时间】:2014-01-13 23:22:53
【问题描述】:
我正在尝试使用 Haskell 以程序方式生成给定宽度的三角方形地形,以提供给 OpenGL。
实际上程序生成的唯一东西是高度,这并不难,我只是使用随机函数创建一个[[GLfloat]],表示高度的行。
然后我还有一个函数heightsToCoords,它接受[[GLfloat]] 并返回一个包含每个顶点的x、y 和z 坐标的[GLfloat]。
所以如果我调用heightsToCoords [[0, 1], [1, 0]],它会返回
[0, 0, 0,
1, 1, 0,
0, 1, 1,
1, 0, 1]
我遇到的问题是将数据传输到 OpenGL。 OpenGL 需要对每个面进行三角剖分(至少在我的设置中),而我所拥有的只是点,我不知道如何创建面。
如何将这些数据从点列表转换为人脸列表?忽略法线和顶点顺序。
【问题讨论】:
标签: opengl haskell procedural-generation opengl-4