Cinder:如何获得一个指针的数据帧生成,但从未显示在屏幕上
Cinder: How to get a pointer to dataframe generated but never shown on screen?
有一个gregrate lib我想使用称为libCinder,我看了看它的文档,但没有得到,如果它是可能的,以及如何渲染的东西没有显示它第一?
假设我们想要创建一个简单的随机颜色640x480画布,上面有3个红白蓝圆圈,并获得RGBHSLany char *
到原始图像数据,而不向用户显示任何窗口。(假设我们有控制台应用程序项目类型)。我想将这样的功能用于服务器端实时视频流生成和视频流,我更愿意使用ffmpeg,所以这就是为什么我想要一个指向一些RGBHSV或实际图像数据缓冲区的指针。如何用libCInder做这样的事情?
您将不得不使用屏幕外呈现。libcinder
似乎只是OpenGL
的包装器,就图形而言,所以您可以使用OpenGL
代码来实现这一点。
由于OpenGL
没有屏幕外呈现的本机机制,您将不得不使用扩展。可以在这里找到使用这种扩展的教程,称为Framebuffer Rendering。你将不得不修改renderer.cpp
使用这个扩展的命令。
使用这种扩展的另一种选择是使用Mesa 3D
,它是OpenGL
的开源实现。Mesa
有一个软件渲染引擎,允许它在不使用显卡的情况下渲染到内存。这意味着你不需要显卡,但另一方面,渲染可能会很慢。在demo zip
文件中,Mesa
有一个向src/osdemos/
的内存缓冲区渲染的示例。这个解决方案可能需要您编写一个完整的Renderer
类,类似于Renderer2d
和RendererGl
,它将使用Mesa
的入侵而不是Windows
或Mac
的入侵。
相关文章:
- Winapi:屏幕截图未显示在窗口中
- 如何在快板的屏幕中显示子位图的绘制?
- SFML 中的字体.信息不显示在屏幕上.显示的不是信息,而是点
- 如何使用 openGL 在屏幕上显示加载的纹理
- 如何使用方法覆盖在输出屏幕上显示堆栈整数值
- 如何使用TouchGFX在LCD屏幕上显示ADC值
- 为什么屏幕上显示了一半的三角形
- 如何在屏幕上显示对象列表?
- C++列出屏幕以在第二台显示器中显示图像
- 显示和隐藏Windows 10屏幕键盘(osk.exe)时遇到问题
- 将25个甚至整数存储到一个名为intlist的整数阵列中,然后在屏幕上显示数组,并在屏幕上显示名为fivintegers
- QML强制窗口将在第一个屏幕上显示
- 如何使用OpenGL在屏幕上显示三角形
- 从文本文件中读取行并显示在屏幕上
- 我的程序没有将字符显示在屏幕上
- 在屏幕上显示矢量
- 在同一屏幕上显示两个不同的对象
- 屏幕显示脚本中'.'令牌之前的预期非限定 id
- C / SFML:使用两个递归调用在屏幕上打印凸形形状仅显示第一个递归调用中的形状,而不是第二个
- 如果我使用的是迭代器,为什么在c++中没有屏幕显示呢