在之前的程序中,已经实现了基本的加载,但是大家知道纹理的加载实在太慢了,整个界面都是卡死的状态,所以得想办法实现多线程加载纹理;
我的想法是一个线程先将没有纹理的图形读取出来,另一个线程读取纹理,读取出来以后再重绘实现多线程绑定纹理功能~
由于OpenGL中不支持直接多线程的操作~所以需要曲线救国~~
在博客园里找到了一位兄弟的博客OpenGL多线程创建纹理,经过他的启发,实现了在Qt中的多线程加载纹理,不过需要修改一处关键地方:
hDC = wglGetCurrentDC();
//hRC = wglGetCurrentDC();//此处不正确~
hRC = wglGetCurrentContext();
hRCShareing = wglCreateContext(hDC);
需要将hRC的获取方式改成当前上下文,而不是通过hDC获取。
需要源码的同学请移步我的gitHubhttps://github.com/Shen001/MultilThread-LoadOBJ.git,如果对您起到了帮助,请不要吝啬您的star;如果有疑问也可以直接留言~!