[osg-users] Invisible light points
Andreas Ekstrand
andreas.ekstrand at remograph.com
Fri Aug 18 07:10:45 PDT 2017
Strange, thought the reply-to address was set from osg-users...this was
what I accidentally sent to Robert only:
Hi Robert,
Thanks for your reply, I realize you're busy with 3.4.1 right now. But
if you can find the time to look into this I have also attached a simple
example reproducing the issue in code. Commenting in adding of the geode
will hide the light points.
/Andreas
On 2017-08-18 11:12, Robert Osfield wrote:
> Hi Andreas,
>
> On 18 August 2017 at 08:30, Andreas Ekstrand
> <andreas.ekstrand at remograph.com
> <mailto:andreas.ekstrand at remograph.com>> wrote:
>
> Did someone manage to reproduce this problem? Any suggestions are
> welcome, I really don't understand what's happening here...
>
>
> I haven't had a chance to test the issue yet. In the latest OSG there
> are rewrites of various parts of the OSG to move fully over to use
> vertex arrays and supporting VAO's, my guess is this work touched upon
> osgSim::LightPoint* functionality and introduced a regression, as to
> what this might be I can't say without reproduce the issue and
> investigating the related code.
>
> In general the behaviour you describe sounds like vertex array state
> that is not being set up correctly so the values used by the driver
> are just the last ones to be set rather than the one intended.
>
> Robert.
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20170818/2b1a7663/attachment.htm>
-------------- next part --------------
#include <map>
#include <osg/ref_ptr>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osg/Group>
#include <osg/Geode>
#include <osg/Geometry>
#include <osgViewer/Viewer>
#include <osgSim/LightPoint>
#include <osgSim/LightPointNode>
int main(int argc, char **argv)
{
osgViewer::Viewer viewer;
osg::ref_ptr<osg::Group> topGroup = new osg::Group();
osg::ref_ptr<osgSim::LightPointNode> lpNode = new osgSim::LightPointNode();
lpNode->addLightPoint(osgSim::LightPoint(osg::Vec3(-10.0f, 0.0f, 0.0f), osg::Vec4(1.0f, 0.0f, 0.0f, 1.0f)));
lpNode->addLightPoint(osgSim::LightPoint(osg::Vec3(10.0f, 0.0f, 0.0f), osg::Vec4(0.0f, 1.0f, 0.0f, 1.0f)));
topGroup->addChild(lpNode);
osg::ref_ptr<osg::Geode> geode = new osg::Geode();
osg::ref_ptr<osg::Geometry> geometry = new osg::Geometry();
osg::ref_ptr<osg::Vec3Array> vertices = new osg::Vec3Array();
vertices->push_back(osg::Vec3(-1.0f, -1.0f, 0.0f));
vertices->push_back(osg::Vec3(1.0f, -1.0f, 0.0f));
vertices->push_back(osg::Vec3(1.0f, 1.0f, 0.0f));
vertices->push_back(osg::Vec3(-1.0f, 1.0f, 0.0f));
geometry->setVertexArray(vertices);
geometry->addPrimitiveSet(new osg::DrawArrays(GL_QUADS, 0, 4));
geode->addDrawable(geometry);
//topGroup->addChild(geode);
viewer.setSceneData(topGroup);
viewer.realize();
return viewer.run();
}
More information about the osg-users
mailing list