opengl在linux平台下多线程中怎么共享纹理

tiancai1912 2015-03-31 11:23:41
在opengl中开辟多个线程,主线程中创建的纹理,然后想在子线程中利用glTexImage2D()函数给他传数据,可是再回到主线程中将这个纹理贴出来时候,显示白色,为什么?现在不知道怎么在多线程中共享纹理,求牛人告知一二,很急!!!!麻烦各位了。
...全文
383 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
彩阳 2018-08-08
  • 打赏
  • 举报
回复
有没有尝试过共享OpenGL的渲染上下文?看看这个:
Qt::AA_UseSoftwareOpenGL
tiancai1912 2015-03-31
  • 打赏
  • 举报
回复
引用 3 楼 hnwyllmm 的回复:
wglShareLists 这个接口应该是opengl的吧,与平台无关了,楼主没有试过吗? opengl本人也不会,非常抱歉
我是在linux平台下做的开发,那个是windows下的接口,用不起来。没事,很感谢你,必定散分,谢谢你了。
羽飞 2015-03-31
  • 打赏
  • 举报
回复
wglShareLists 这个接口应该是opengl的吧,与平台无关了,楼主没有试过吗? opengl本人也不会,非常抱歉
tiancai1912 2015-03-31
  • 打赏
  • 举报
回复
引用 1 楼 hnwyllmm 的回复:
opengl产生的数据是你可以控制的吗?如果是的,就跟普通的线程共享数据一样了,一个线程可以直接访问另一个线程创建的内存,但是访问的时候要加锁
谢谢你回复帖子,激动的不行啊。 我会一点线程的基础知识,内存数据可以共享,这个我也清楚,但是现在的问题是在主线程中渲染那个在子线程中纹理数据时,显示的图片时一片空白。很郁闷。现在我想做的是在一个线程中给创建好的纹理加载图片,然后在另一个线程中八这个加载好的纹理做渲染贴到一个四边形上面。之前看到有个人也是发的这个帖子,但是说的是在windows下做的,是用wglShareLists()共享了两个创建好的RC1,RC2,。我就是想知道在linux下面怎么去共享两个线程的纹理,貌似要打开什么共享纹理的功能,但是我不知道怎么去操作,或是有什么API可以实现吗?还请帮帮忙,很急!,搞了好多天了。
羽飞 2015-03-31
  • 打赏
  • 举报
回复
opengl产生的数据是你可以控制的吗?如果是的,就跟普通的线程共享数据一样了,一个线程可以直接访问另一个线程创建的内存,但是访问的时候要加锁

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧