查看: 856|回复: 1

osgNV库的使用问题

[复制链接]

该用户从未签到

发表于 2014-2-28 10:29:01 | 显示全部楼层 |阅读模式
用osgNVCg设置几何体的颜色时,在osg上可以,但是在osgEarth就出现了问题
两者用的都是这一段代码:
osgNVCg::Context *context = new osgNVCg::Context; osgNVCg:rogram *program = new osgNVCg::Program(context, osgNVCg::Program::BEST_VP);
program->setFileName("E:/osgnv/data/osgnvcg1.cg");
program->addVectorParameter("LightVec")->set(osg::Vec4(1, 1, 1, 0));
program->addStateMatrixParameter("ModelViewProj")->set(osgNV::StateMatrixParameterValue::MODELVIEW_PROJECTION);
program->addStateMatrixParameter("ModelViewIT")>set(osgNV::StateMatrixParameterValue::MODELVIEW,osgNV::StateMatrixParameterValue::INVERSE_TRANSPOSE);
geode->getOrCreateStateSet()->setAttributeAndModes(program);
在osg上效果:
在osgEarth的效果:
后面跟进Cg文件,发现里面的lit()函数计算出来的结果有问题。
部分代码如下:
// Calculate diffuse component.
        float diffuse = dot(normalVec, lightVec);
       
        // Calculate specular component.
        float specular = dot(normalVec, halfVec);
float4 lighting = lit(diffuse, specular, 32);其中在osgEarth上diffuse, specular计算出来都为1,也就是说lighting的xyzw分量全为1,但是实际上测试出来的yz分量为0了。
在osg上却没问题。。求大神指示啊

osg上的效果

osg上的效果

osgEarth上的效果

osgEarth上的效果

该用户从未签到

发表于 2014-3-14 03:39:31 | 显示全部楼层
osgNV这个库已经停止更新很久了。。。并且显然我或者Macro Jez都不会再更新它的内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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