在opengl中静态绘制 我正在开发一个使用C++和OpenGL的类似油漆的应用程序。但每次我画圆、线等对象时,它们都不会**停留在**页面上。我的意思是,我画的每一个新物体都被放在一个空白页上。如何使绘制的对象持久化?

在opengl中静态绘制 我正在开发一个使用C++和OpenGL的类似油漆的应用程序。但每次我画圆、线等对象时,它们都不会**停留在**页面上。我的意思是,我画的每一个新物体都被放在一个空白页上。如何使绘制的对象持久化?,c++,opengl,C++,Opengl,OpenGL没有几何持久性。基本上是铅笔、画笔和颜料,你可以用它们在画布上画画,称为“帧缓冲区”。因此,在您绘制某些内容并清除帧缓冲区后,它将不会以某种神奇的方式重新出现 有两种解决方案: 保留所有绘图操作的列表,并在每次重画时重新绘制该列表中的所有内容 在绘制某些内容后,将帧缓冲区中的图像复制到纹理,而不是使用该纹理填充背景 这两种技术可以结合使用。OpenGL没有几何持久性。基本上是铅笔、画笔和颜料,你可以用它们在画布上画画,称为“帧缓冲区”。因此,在您绘制某些内容并清除帧缓冲区后,它将

OpenGL没有几何持久性。基本上是铅笔、画笔和颜料,你可以用它们在画布上画画,称为“帧缓冲区”。因此,在您绘制某些内容并清除帧缓冲区后,它将不会以某种神奇的方式重新出现

有两种解决方案:

  • 保留所有绘图操作的列表,并在每次重画时重新绘制该列表中的所有内容

  • 在绘制某些内容后,将帧缓冲区中的图像复制到纹理,而不是使用该纹理填充背景


这两种技术可以结合使用。

OpenGL没有几何持久性。基本上是铅笔、画笔和颜料,你可以用它们在画布上画画,称为“帧缓冲区”。因此,在您绘制某些内容并清除帧缓冲区后,它将不会以某种神奇的方式重新出现

有两种解决方案:

  • 保留所有绘图操作的列表,并在每次重画时重新绘制该列表中的所有内容

  • 在绘制某些内容后,将帧缓冲区中的图像复制到纹理,而不是使用该纹理填充背景


这两种技术可以结合使用。

只需不清除帧缓冲区,您绘制的任何内容都将保留在屏幕上。这是我用来允许用户在我的OpenGL模型上绘制的相同方法。这仅适用于标记图像,因为使用此方法无法擦除所绘制的内容,除非您的擦除方法是使用背景色绘制

只要不清除帧缓冲区,您绘制的任何内容都将保留在屏幕上。这是我用来允许用户在我的OpenGL模型上绘制的相同方法。这仅适用于标记图像,因为使用此方法无法擦除所绘制的内容,除非您的擦除方法是使用背景色绘制

您在什么平台上开发,使用什么工具(IDE/SDK)。页面对象/api是什么?你的绘图代码是什么?你在什么平台上开发和使用什么工具(IDE/SDK)。什么是页面对象/api?你的绘图代码是什么?不,这不适用于双缓冲。我主要工作在iPi/iPad上,这不是问题。我在linuxNo下使用C++的OpenGL,这对双缓冲是不起作用的。我主要工作在iPi/iPad上,这不是问题。我在Linux下使用C++的OpenGL。