use*_*794 0 opengl multithreading rendering volume
我正在使用openGL和"freeglut"库进行体积渲染和显示.在主线程中,我初始化openGL窗口,然后逐帧获取体积数据,体积渲染在获取一个体数据后完成.这很好用,但需要很长时间.是否有可能继续在主线程中初始化openGL窗口,并在另一个线程中进行体积渲染和显示?我检查了wglMakeCurrent,它没有更新主线程中初始化的窗口.
多线程OpenGL操作是一个讨厌的野兽.但是,您可以,这是我强烈建议的,将像素缓冲区对象映射到程序的地址空间.并且所有线程都可以看到该地址空间区域.因此,您可以从另一个线程更新卷数据(或者,就像我正在处理的程序,在另一个GPU上),然后通知主线程从PBO中的新数据更新纹理.您还可以使用glTexSubImage3D仅从PBO更新卷的子部分.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |