Cocos3D - 在后台截取各种屏幕截图



使用 Cocos3D,是否可以在用户不知情的情况下在后台截取 3D 模型的屏幕截图?

出于预处理目的和其他用途,我想从各个角度截取 3D 模型的屏幕截图。遵循渲染到纹理功能,我注意到当我的场景不可见时,drawSceneContentWithVisitor:方法只执行一次,而不是在每个渲染周期执行。 出于显而易见的原因,CC3GLFramebuffer*不会使用新数据进行更新,因此,我只能截取初始屏幕截图。

谢谢。

Cocos3D 中,您可以将 3D 场景渲染到屏幕外的表面。有关如何执行此操作的示例,请参阅 CC3DemoMashUp addTelevisiondrawSceneContentWithVisitor: 方法。

重要的是,在执行绘图时已建立 3D 绘图环境。执行此操作最安全的地方是在drawSceneContentWithVisitor:方法中。但是,如果要在其他地方渲染,则需要在渲染前后调用CC3Scene open3DWithVisitor:CC3Scene close3DWithVisitor:方法。有关如何执行此操作的示例,请参阅 CC3Scene processInitializeSceneopen 方法的实现。

要从多个视点渲染场景,您需要向场景添加多个摄影机,并相应地设置绘图访问者的 camera 属性,以便在渲染之前选择摄影机。了解如何在CC3DemoMashUpScene addTelevisiondrawToTVScreen方法中完成此操作。drawToTVScreen方法还演示如何处理清除表面的颜色和深度缓冲区。

相关内容

  • 没有找到相关文章

最新更新