openGL 开辟多个纹理
小弟想在openGL里面开辟很多个纹理,用的显卡是GTX570,显存1280M。我发现开四通道的纹理,每个纹理大小为512*512,只能开70个,如果用单通道的纹理,纹理大小不变,能开280个。纹理开多了程序就不能正常运行,求高手帮忙分析一下原因,我开的纹理也没有超出显存呀,float型的数据300M还不到。
附上相关的代码:
glGenTextures(512, outTexID);
for (int i=0; i<512; i++)
{
//激活并绑定要设置的纹理
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, outTexID[i]);
//设置纹理参数
//关于放大/缩小的纹理图的参数
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
//关于越界取值的操作
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP);
//定义纹理的数据类型为float
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 512, 512,0, GL_RGBA, GL_FLOAT, NULL);
}