Jean-Baptiste Authesserre wrote:
Sorry for the previous mail. I'm a little confused. My camera is
configured to take Y-axis as UP axis. In my 3D-model, I put the helmet
so that the bottom of the helmet correspond to negative Y, and the top
to positive Y (cf attached figure). The camera look at (0, 0, 0). Thus
I can obtain the attached image. To enlight the scene I put the light
at 0 on X-axis so the region around the bottom corners of the square
be enlighten the same way (the square is in the XY plane). However the
region around bottom-left corner is darker than the region around
bottom-right corner. What have I missed?
Ah! You said "my object isn't uniformly enlighten" in your original
mail. With "object" I figured you meant the whole thing/"helmet". I now
see what you mean w.r.t. the dark corner on the square. Could it be that
you have an incorrect normal for that corner of the square? Are the
square and helmet one object? Does it still show when you display only
the square (i.e. could it be an artifact that actually comes from the
helmet, and not the square)?
Paul
Jean-Baptiste
2008/6/18 Jean-Baptiste Authesserre <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>:
Hi,
I am a little confused. My camera
2008/6/18 Paul Melis <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>:
Jean-Baptiste Authesserre wrote:
Hi everyone,
I have some problem with OSG Light, and I don't find
answer in the osg archives. My problem is the following :
I don't understand why with the following code my object
isn't uniformly enlighten. (cf. image in attached document)
-The black and white square of the image is centered at
(0, 0, 0) (in world frame with convention (x, y, z))
-The camera is located at (0, 0, -20)
-the light is located at (0,20, -15)
If you didn't change this yourself then +Z will be the up
axis, btw
The code for activating light is the following:
/*****************************
** light *************************************/
//Creation of light source
osg::Light* light = new osg::Light();
osg::LightSource * lightsource = new osg::LightSource();
lightsource->setLight(light);
// put the light source in the scenegraph
root->addChild(lightsource);
// turn light on
osg::StateSet * stateset = root->getOrCreateStateSet();
lightsource->setStateSetModes(*stateset,
osg::StateAttribute::ON);
light->setAmbient(osg::Vec4d(1.0, 1.0, 1.0, 1.0));
//light->setDiffuse(osg::Vec4d(0.0, 0.0, 0.0, 0.0));
//light->setSpecular(osg::Vec4d(1.0, 1.0, 1.0, 1.0));
light->setPosition(osg::Vec4d(0.0, 20.0, -15.0, 1.0));
/******************************************************************************/
So, I don't understand why the bottom-left corner of my
square is darker than the others corners
I don't see any difference here between left and right bottom
corners, they're equally dark IMHO. Which seems to make sense,
as you've put the light source above and little in front of
the camera, but in the center of the object (the X plane).
Paul
Has anybody an Idea?
Best regards,
Jean-Baptiste.
------------------------------------------------------------------------
_______________________________________________
osg-users mailing list
[email protected]
<mailto:[email protected]>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
<mailto:[email protected]>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
------------------------------------------------------------------------
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org