查看: 1449|回复: 5

请问呢两个相机矩阵同步?如何做?

[复制链接]

该用户从未签到

发表于 2010-4-1 10:54:20 | 显示全部楼层 |阅读模式
想让一个渲染到纹理的相机与主相机矩阵实时的同步,开始使用的是给这个相机加一个PreDrawCallback,最后发现不行,因为渲染到纹理的相机下挂的有OcclusionQueryNode节点,这个节点中对相机设置了PreDrawCallback和PostDrawCallback,把我自己设置的DrawCallback完全冲掉了。导致相机间矩阵的同步失败。使用FinalDrawCallback虽然可以正确渲染,但效果不好,感觉两个相机渲染出来的东西有一个延迟。有什么解决方法吗~

该用户从未签到

发表于 2010-4-1 11:08:45 | 显示全部楼层
我不是很确定您的工作方案是什么,也许您需要再详细阐述一下。为什么您要用相机的DrawCallback来实现同步?您要实现什么样的同步?

该用户从未签到

 楼主| 发表于 2010-4-1 11:22:03 | 显示全部楼层
嗯,我要做一个HUD,还有一个渲染到纹理的相机(只挂场景中部分的模型,这样看起来像过滤镜),渲染出来的纹理贴在这个HUD上。现在再新建一个相机,下面什么节点都不加,给这个相机加DrawCallback,在这个DrawCallback去同步其他相机的矩阵……

该用户从未签到

发表于 2010-4-1 11:24:25 | 显示全部楼层
给这个相机加DrawCallback,在这个DrawCallback去同步其他相机的矩阵
为什么会有同步的问题?为什么空相机的回调能够实现同步呢?我依然不清楚您的做法。事实上把RTT场景绘制到HUD的方法我很早就实现过,当时主要是为了多遍渲染以及HDR的效果,并没有发现有什么异样

该用户从未签到

 楼主| 发表于 2010-4-1 11:27:27 | 显示全部楼层
RTT相机下挂的模型中包含OcclusionQueryNode节点,这个节点又对相机设置了DrawCallback,把我设置的DrawCallback抵消掉了

该用户从未签到

发表于 2010-4-1 16:55:01 | 显示全部楼层
您并没有告诉我,为什么会出现不同步的原因。此外如果您确定是OcclusionQueryNode影响了您的工作,不妨重新把它派生一下,或者照抄代码自己来实现一个遮挡查询节点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表