static void TestMaxGLBufferData()
{
glewInit();
#ifdef _WIN64
printf("WIN64 模式下: \n");
#else
printf("WIN32 模式下: \n");
#endif
long long nNumberM = 0;
// 限制一个数目,防止程序异常不能跳出(联想 T530 ) [12/2/2016 ZOSH];
const long long MAX_NUMBER = 10000;
while (glGetError() == GL_NO_ERROR && nNumberM < MAX_NUMBER)
{
GLuint objectVBO = 0;
glGenBuffers(1, &objectVBO);
glBindBuffer(GL_ARRAY_BUFFER, objectVBO);
// 1<<20 = 1M 的空间;
glBufferData(GL_ARRAY_BUFFER, 1 << 20, NULL, GL_STATIC_DRAW);
nNumberM++;
}
printf("gpu最大可申请多少 %lld M, 最多顶点数目(x, y, z分量):%lld 个\n", nNumberM, nNumberM * 1024 * (1024 / 12));
printf("请自行删除申请的空间!\n");
}
测试 OpenGL 能从gpu 申请多大空间/或分配多少顶点(glBufferData)
最新推荐文章于 2024-11-13 20:51:11 发布