如何在两个不同的borland builder窗口中绘制相同的opengl图

How to paint the same opengl drawing in two different borland builder windows?

本文关键字:窗口 builder 绘制 opengl borland 两个      更新时间:2023-10-16

我有一个borland builder窗口窗体,其中绘制了一个opengl项目上的计时器。我想同时在另一个borland builder窗口中绘制这个opengl项目。

我应该使用像素缓冲对象,还是帧缓冲对象?与glReadPixels ?或者glBindFrameBuffer ?什么时候需要调用这些函数?在我画画之前还是之后?

或者将第一种形式的RC或DC称为第二种形式更简单吗?如果可能的话,我该怎么称呼它呢?

为其他窗口创建额外的OpenGL上下文,使用也共享纹理的wglShareLists共享上下文对象。

  • 如果要显示相同的视图(相同的分辨率,渲染等):使用纹理作为framebuffer对象的颜色缓冲区附件,绘制到这个FBO。然后在所有窗口中使用此纹理绘制纹理四边形。

  • 如果不同的视图:单独渲染每个窗口

请不要认为没有像"OpenGL项目"这样的东西。OpenGL每次只处理一个原语(=三角形,四边形,点,线),渲染中没有持久性。