Hi Sebastian, Yes, that works as well, the sphere is red.
cheers Patrik On Tue, May 13, 2014 at 10:32 AM, Sebastian Messerschmidt < [email protected]> wrote: > Hi Patrik, > > Hi Sebastian, > > The baseColor is applied to the sphere, so I can see my shader is in > use. No differences when using osgShadow or not. > > Yes because it is the first texture unit. Fixed function pipeline and > osgShadow will handle it. Please follwo my advice and change the output of > the fragment shader to > gl_FragColor = vec4(1,0,0,1) or gl_FragData[0] = vec4(1,0,0,1) > to see if it is _really_ your shader. > > cheers > Sebastian > > > Cheers > Patrik > > > On Tue, May 13, 2014 at 10:03 AM, Sebastian Messerschmidt < > [email protected]> wrote: > >> Hi Patrick, >> >> from a glimpse it seems you are setting up the shader to the geode while >> using osgShadow, which will override your shaders. >> I guess you need to set the shaders at the shadowTechnique. Could you try >> it without osgShadow or simply do some shader debugging by setting the >> gl_FragColor to some debug value to see if your shader is used at all? >> >> cheers >> Sebastian >> >> HI, >> >> I'm trying to implement Image Based Lighting in a scene. but I think I >> miss something essential. >> I have copied the fragment shader and vertex shader from the orange book, >> ch 12/Image Based Lighting. Created a sphere which shall be the emissive >> surface. >> >> When I run I receive following warning/error msg: >> Warning: detected OpenGL error 'invalid operation' at After >> Renderer::compile. >> >> The sphere is colored by the base-color, but it is not emissive. What >> kind of attributes do I need to set to get it work, or should I make things >> in a different order? See code below. >> >> Kind regards >> Patrik >> >> This is the main code: >> [code] >> osgShadow::ShadowedScene* scene(new osgShadow::ShadowedScene()); >> osgShadow::ShadowMap* sm(new osgShadow::ShadowMap()); >> sm->setTextureSize(osg::Vec2s(512,512)); >> scene->setShadowTechnique(sm); >> osg::Group* root = new osg::Group; >> osg::Geode* em = new osg::Geode(); >> em->addDrawable(new osg::ShapeDrawable(new >> osg::Sphere(osg::Vec3(0,0,0), 10.0) ) ); >> osg::Geode* geode = new osg::Geode(); >> geode->addDrawable(new osg::ShapeDrawable( new >> osg::Cylinder(osg::Vec3(0,0,-3.0),10,0.2 >> ) )) ; >> geode->setCullingActive(true); >> root->addChild(em); >> root->addChild(geode); >> scene->addChild(root); >> osg::TextureCubeMap* tex = readCubeMap(); >> >> { >> osg::StateSet* ss = em->getOrCreateStateSet(); >> osg::Program* program = new osg::Program; >> program->setName( "IBL" ); >> program->addShader( new osg::Shader( osg::Shader::VERTEX, IBLVertSource >> ) ); >> program->addShader( new osg::Shader( osg::Shader::FRAGMENT, >> IBLFragSource ) ); >> >> ss->setAttributeAndModes( program, osg::StateAttribute::ON ); >> osg::Uniform* baseColor = new osg::Uniform( "BaseColor", osg::Vec3(0.2, >> 0.4, 0.6) ); >> osg::Uniform* specular = new osg::Uniform( "SpecularPercent", 0); >> osg::Uniform* diffuse = new osg::Uniform( "DiffusePercent", 1.0); >> osg::Uniform* specEnvMap = new osg::Uniform("SpecularEnvMap", 0); >> osg::Uniform* diffEnvMap = new osg::Uniform( "DiffuseEnvMap", 0); >> ss->setTextureAttributeAndModes(0, tex, osg::StateAttribute::ON ); >> ss->addUniform( baseColor ); >> ss->addUniform( specular ); >> ss->addUniform( diffuse ); >> ss->addUniform( specEnvMap ); >> ss->addUniform( diffEnvMap ); >> } >> >> viewer.setSceneData(scene); >> viewer.run(); >> [/code] >> >> >> _______________________________________________ >> osg-users mailing >> [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 > [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

