Qt实现读取显示obj文件——多线程加载纹理


在之前的程序中,已经实现了基本的加载,但是大家知道纹理的加载实在太慢了,整个界面都是卡死的状态,所以得想办法实现多线程加载纹理;

我的想法是一个线程先将没有纹理的图形读取出来,另一个线程读取纹理,读取出来以后再重绘实现多线程绑定纹理功能~


由于OpenGL中不支持直接多线程的操作~所以需要曲线救国~~

在博客园里找到了一位兄弟的博客OpenGL多线程创建纹理,经过他的启发,实现了在Qt中的多线程加载纹理,不过需要修改一处关键地方:

hDC = wglGetCurrentDC();
//hRC = wglGetCurrentDC();//此处不正确~
hRC = wglGetCurrentContext();
hRCShareing = wglCreateContext(hDC);

需要将hRC的获取方式改成当前上下文,而不是通过hDC获取。

需要源码的同学请移步我的gitHubhttps://github.com/Shen001/MultilThread-LoadOBJ.git,如果对您起到了帮助,请不要吝啬您的star;如果有疑问也可以直接留言~!

你可能感兴趣的:(c++,QT,三维建模,opengl)