我正在开发一些C++代码,可以在两个图像之间做一些奇特的3D过渡效果,我认为OpenGL是最好的选择.
我从一个DIB部分开始并为OpenGL设置它,我从输入图像创建两个纹理.
然后,对于每个帧,我只绘制两个OpenGL四边形,并使用相应的图像纹理.然后将DIB内容保存到文件中.
例如,一个效果是将两个四边形(在3d空间中)定位为两个广告牌,一个在另一个前面(遮挡它),然后向上,向前和向下俯冲摄像机,以便您可以看到第二个.
我的输入图像是1024x768左右,当四边形覆盖大部分视图时,渲染(100毫秒)需要很长时间.如果相机很远,它会加速.
我尝试将每个图像四边形渲染为数百个单独的图块,但它只需要相同的时间,它似乎取决于可见纹理像素的数量.
我假设OpenGL可以在一秒钟内完成数以万计的多边形.这里有什么我想念的吗?
使用其他方法会更好吗?
提前致谢...
编辑:
GL字符串显示为DIB版本:
供应商:Microsoft Corporation版本:1.1.0 Renderer:GDI Generic
屏幕版本显示:供应商:ATI Technologies Inc.版本:3.2.9756兼容性配置文件上下文渲染器:ATI Mobility Radeon HD 3400系列
所以我想我将不得不使用FBO,我有点困惑如何将渲染数据从FBO输出到DIB,任何指针(双关语意图)?
| 归档时间: |
|
| 查看次数: |
2622 次 |
| 最近记录: |