ledocc wrote:
> Is you normal of your model well defined and normalized ?
Whitout shaders model looks perfect, and you can see the changes moving the
light of the site.
ledocc wrote:
>
> I suppose you used an osg::Light to define your light.
> Have you put it in a osg::LightSource ?
>
Code:
int const LIGHTS = 1;
osg::StateSet *lightStateSet = scene->getOrCreateStateSet();
osg::Geode *lightMarker[LIGHTS];
osg::LightSource *lightSource[LIGHTS];
// Create Lights
osg::Vec4 lightColors[] = {osg::Vec4(1.0,1.0,1.0,1.0), osg::Vec4(0.0, 1.0,
0.0, 1.0), osg::Vec4(0.0, 0.0, 1.0, 1.0)};
for (int i = 0; i < LIGHTS; i++) {
lightMarker[i] = new osg::Geode();
lightMarker[i]->addDrawable(new osg::ShapeDrawable(new
osg::Sphere(osg::Vec3(0.0, 40.0, 0.0), 5.0)));
osg::Material *light_material = new osg::Material();
light_material->setDiffuse(osg::Material::FRONT, osg::Vec4(1.0, 1.0,
1.0, 1.0));
light_material->setSpecular(osg::Material::FRONT, osg::Vec4(0.1, 0.1,
0.1, 1.0));
light_material->setEmission(osg::Material::FRONT, lightColors[i]);
lightMarker[i]->getOrCreateStateSet()->setAttribute(light_material);
lightSource[i] = new osg::LightSource();
osg::Light *light = new osg::Light();
// each light must have a unique number
light->setLightNum(0);
// we set the light's position via a PositionAttitudeTransform object
light->setPosition(osg::Vec4(0.0, 40.0, 0.0, 0.3));
light->setSpecular(osg::Vec4(0.1,0.1,0.1,1.0));
light->setAmbient( osg::Vec4(0.2,0.2,0.2,1.0));
light->setDiffuse(lightColors[i]);
lightSource[i]->setLight(light);
lightSource[i]->setLocalStateSetModes(osg::StateAttribute::ON);
lightSource[i]->setStateSetModes(*lightStateSet,
osg::StateAttribute::ON);
lightTransform[i] = new osg::PositionAttitudeTransform();
lightTransform[i]->addChild(lightSource[i]);
lightTransform[i]->addChild(lightMarker[i]);
lightTransform[i]->setPosition(osg::Vec3(0, 0,200));
//lightTransform[i]->setScale(osg::Vec3(0.1,0.1,0.1));
scene->addChild(lightTransform[i]);
}
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=32364#32364
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org