查看: 1918|回复: 4

关于OSG与ActiveX控件的问题

[复制链接]

该用户从未签到

发表于 2011-7-8 22:27:44 | 显示全部楼层 |阅读模式
array大哥,你好!我目前在做关于很多张图片之间的摆放问题(如右图),当鼠标经过时,当前的图片会放大五倍(如右图) QQ截图未命名1.jpg ,由于渲染顺序之间的问题,有可能这张放大的图片会被覆盖,因此我用了渲染状态的一个属性设置渲染顺序,
  1. geode->getOrCreateStateSet()->setRenderBinDetails(-1, "RenderBin");
复制代码
,这样在win32下是没有问题的,可以正常显示。但是现在我想把它移到ActiveX控件中,也就是OSG结合ActiveX控件,但是这当中出现了一个问题,如右图, QQ截图未命名3.jpg 就是这张放大的图片会被原来小的图片覆盖掉(而且我发现了一个规律就是,放大的图片总是被它左边的小图片覆盖,没办法正常显示,而且我也是正常设置了
  1. geode->getOrCreateStateSet()->setRenderBinDetails(-1, "RenderBin");
复制代码
,不知道为什么会出现这个问题?

该用户从未签到

发表于 2011-7-11 08:29:03 | 显示全部楼层
您这么说我也无法判断什么,我的控件程序没有发现过什么和控制台程序不一致的问题

该用户从未签到

 楼主| 发表于 2011-7-11 10:48:10 | 显示全部楼层
我后来改了一下,是可以了,我想问的就是,那个设置“setRenderBinDetails(-1, "RenderBin");这个属性应该设置在哪一节点上,比如说设置在叶节点、可绘制节点上,或者说在其他节点上,因为我一开始再控制台程序的时候是设置在Geode节点上是可以正常显示的,现在是设置在Drawable节点上才可以正常显示。array大哥,这个“setRenderBinDetails(-1, "RenderBin");”这个属性是设置在Drawable节点上才是正确的嘛?

该用户从未签到

发表于 2011-7-11 12:46:17 | 显示全部楼层
节点或者Drawable都是可以的

该用户从未签到

 楼主| 发表于 2011-7-12 15:51:21 | 显示全部楼层
我昨天看了一下《最长的一帧》现在有些明白了,谢谢array!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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