我试图制作大数据集(例如1000 x 500点)的3d图,其中x,y均匀分布(例如0,8,16,24等)和z描述一个值。我试图用here中的Qt和OpenGL来做这件事。问题是我不知道我需要多少点(它会有所不同),但它们的数量会很大,而且在初始化VBO时我需要指定金额:
#define N 256
GLbyte graph[N][N];
... /* fill graph here */
/* Upload the texture with our datapoints */
glActiveTexture(GL_TEXTURE0);
glGenTextures(1, &texture_id);
glBindTexture(GL_TEXTURE_2D, texture_id);
glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, N, N, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, graph);
所以在这个例子中,在我的情况下,N值会高得多以保持所有点,但是我得到堆栈溢出错误。 应对这个问题的最佳方法是什么?除了指定可用的最大金额外,我如何指定未知金额?是否有另一种方法可以优化大型数据集的三维图的生成?