|
楼主 |
发表于 2014-10-31 10:04:09
|
显示全部楼层
还是自己来回答吧,菜鸟们把希望寄托于论坛,瞎转转,总是菜鸟见菜鸟,爱莫之助呀~,老鸟都飞尽了。
“千山鸟飞绝,万径人踪灭。”
在example中,参考,osgspotlight程序,其中修改两个地方就可以实现纹理投影的效果:
1、createSpotLightImage 函数中,直接使用readImageFile返回一个image对象。
2、createSpotLightNode函数中,屏蔽:group->addChild(lightsource);, 也就是不用加入光源,因为这个光源的反射光都是纯白光(light->setDiffuse(osg::Vec4(1.0f,1.0f,1.0f,1.0f));)。
运行你的程序吧,你会看到,之前聚光灯照射的地方变成你的纹理了。
|
|