HI Laurens, I would like to resolve this submission over the coming week and am happy to pitch in with adapting the classes w.r.t my earlier suggestions. Before I go tinkering it would be useful to have a test example that works with your original code so that if I do come up with an alternative I can make sure it all works.
Any chance you can write a small example? Robert On 6 June 2016 at 17:20, Robert Osfield <[email protected]> wrote: > Hi Laurens, > > What is needed in this case is a StateSet::setMode(i, ), similar to > how we have the setTextureMode(i,..) and have these mods map to > glEnablei/glDisablei. > > Or just go the route like osg::Hint uses. This would entail an > osg::SateAttribute that map the i parameter to the > StateAttibute::getMember() and then have the default value of the > attribute to disable. > > In terms of limiting how widely the functionality would end up > spreading into other class implementations I'd have a > osg::EnableDisablei/osg::Modei StateAttribute. > > Robert. > > > On 6 June 2016 at 16:21, Voerman, L. <[email protected]> wrote: >> Hi Robbert, >> I failed to get a good grip on how we could make this work, because of the >> way the new attribute would interact with the existing mode; >> from the spec (viewport_array.txt): >> >> Calling Enable or Disable with the symbolic constant SCISSOR_TEST is >> equivalent, assuming no errors, to: >> >> for (uint i = 0; i < MAX_VIEWPORTS; i++) { >> Enablei(SCISSOR_TEST, i); >> /* or */ >> Disablei(SCISSOR_TEST, i); >> } >> >> therefore the (existing) mode will replace the values set by the new >> attribute, causing the state to leak in unexpected ways. >> >> I will leave this as is for the moment, as I think the scissor array would >> be usable with only a global on/off switch, and a buggy implementation of >> the per-viewport on/off could be very confusing. >> >> Regards, Laurens. >> >> >> >> On Mon, Jun 6, 2016 at 1:22 PM, Robert Osfield <[email protected]> >> wrote: >>> >>> Hi Laurens, >>> >>> I have just done a first pass review and left wondering if we might be >>> able to leverage the existing >>> StateAttribute::getMember()/getTypeMemberPair() functionality in some >>> way. The osg::Light and osg::ColorMaski are examples of this in >>> action. Could we do something here? >>> >>> Robert. >>> >>> On 3 June 2016 at 15:59, Voerman, L. <[email protected]> wrote: >>> > Hi Robert, >>> > in order to try stereoscopic rendering with a geometry shader I added >>> > support for the GL_ARB_viewport_array extention. I got stuck at >>> > implementing >>> > the SCISSOR_TEST array, as I cannot see where I could extend the osg >>> > with >>> > an array replacing a boolean glMode. Any thoughts on that would be >>> > appreciated. >>> > Meantime I think the current code is usable (even without the ability to >>> > enable/disable the scissor test per viewport). >>> > Regards, Laurens. >>> > >>> > >>> > >>> > _______________________________________________ >>> > osg-submissions mailing list >>> > [email protected] >>> > >>> > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >>> > >>> _______________________________________________ >>> osg-submissions mailing list >>> [email protected] >>> >>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >> >> >> >> _______________________________________________ >> osg-submissions mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >> _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
