我之前在这里问过几个关于 VBO 的问题,根据我收到的评论,我决定必须采取一种新的方法。
简而言之 - 我正在尝试绘制在大型 FLOAT 数组上定义的 Mandelbrot 集,大约 512X512 点。我的程序的目的是让用户控制缩放和世界的方向(它是一个 3d 模型)。到目前为止,我已经使用 GL_TRIANGLE_STRIP 绘制了整个东西,由于其缓慢的绘制过程,这变成了一个糟糕的选择。也因为实现我的绘画风格(调用 glVertex 的顺序)变得不可能为 VBO 编码。
所以我有几个问题。
即使在此描述之后,我也不确定 VBO 是否是最佳选择,因为由用户来控制计算。对于他由程序引起的每个计算,我必须重新计算 mandelbrot 集(~60ms),然后重新复制指向缓冲区的点:一个需要一些时间(?ms)的过程。
该程序还允许用户在世界上移动,因此这里不进行任何计算,因此 VBO 是一个很好的选择。
1.绘制高度图的最佳方法是什么(当数组中的每个单元格只包含高度时)
2.我如何将它应用到 VBO 并将其传输到 cuda (cudaRegisterBuffer 或类似的东西)
3.有没有办法区分模式并决定何时需要 VBO(在无计算模式下)和何时不需要(计算模式)。