【发布时间】:2014-02-08 18:05:35
【问题描述】:
好的,我有一个带有多个线程的程序(在运行时从 DLL 加载)。每个线程都有一个单独的 OpenGL 渲染上下文。我想要做的是,从主线程,能够绘制每个 opengl 上下文的帧缓冲区,并将它们绘制在我在主窗口中选择的位置(如果这有意义的话)。我将它设置为多线程,因为当单线程“运行时进程”(只是美化的功能)时,会在加载资源时使漏洞程序挂起(运行时进程,可以随时创建和终止)。基本上我希望能够“欺骗”opengl 将其绘制到随机缓冲区中,获取该缓冲区并在主线程中将其转换为 opengl 纹理并将其绘制到需要的位置(位置也在运行时确定,它可调整的)。我的问题是,有没有办法让渲染上下文绘制到一些分配的内存而不在窗口中绘制它?还有什么方法可以从该上下文中获取帧缓冲区。如果是这样,我只会调用“glTexImage2D”,并且在“bytes”参数中有指向内存的指针。不要担心线程同步,我已经相当擅长了......
【问题讨论】:
标签: c++ multithreading opengl rendering