我正在编写一个简单的C ++ / OpenGL程序,它可以加载obejcts形式的.obj文件。我使用纹理压缩,但它有点慢。纹理压缩是由CPU还是GPU完成的? 如果CPU我可以进行多线程加载和压缩。
这是代码:
if(format==GL_RGBA || format==GL_BGRA)
{
if(transparency) internalformat=GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
else internalformat=GL_COMPRESSED_RGB_S3TC_DXT1_EXT;
}
if(format==GL_RGB || format==GL_BGR) internalformat=GL_COMPRESSED_RGB_S3TC_DXT1_EXT;
if(format==GL_INTENSITY) internalformat=GL_COMPRESSED_INTENSITY;
.................
glGenTextures(1, &txtid[position]);
glBindTexture(GL_TEXTURE_2D, txtid[position]);
glTexImage2D(GL_TEXTURE_2D,0,internalformat,txt->w,txt->h,0,format,GL_UNSIGNED_BYTE,txt->pixels);