Thanks for the quick reply Robert.  Unfortunately I don't control the 
temperature models I'm working with so I'm stuck mapping the per-primitive as 
accurately as I can.

I was just looking through the Geometry::fixDeprecatedData() function in osg 
3.2 -> am I correct in assuming that this function won't actually give me the 
same behavior as BIND_PER_PRIMITIVE did in previous OSG versions?

As to your texture recommendation, I had considered that, I suppose I would 
just create a 1x1 texture for temperature value?

-Ethan


robertosfield wrote:
> Hi Ethan,
> 
> osg::Geometry still supports BIND_PER_VERTEX, BIND_PER_PRIMITIVE_SET and 
> BIND_OVERALL as these are able to map to what OpenGL supports directly.  For 
> you work I would suggest either using BIND_PER_VERTEX or 
> BIND_PER_PRIMTIVE_SET, the easiest one to map to is probably 
> BIND_PER_PRIMITIVE_SET so you'd have one building face per osg::PrimitiveSet. 
>  The most efficient in terms of OpenGL performance will be to duplicate the 
> temperature values so there is one per vertex and then use BIND_PER_VERTEX.  
> 
> 
> Physically I would have thought the temperature would most naturally fit to 
> per vertex as the edges and corners of buildings will be at the same 
> temperature (one point is space can't be at two temperatures) but with doing 
> this one need to insert extra vertices with the flat walls to allow to 
> accurately map the temperature variation.
> 
> 
> The other route you could take is put the temperature mapping into a texture.
> 
> 
> Robert.
> 
> 
> 
> 
> 
> 
> 
> On 13 January 2014 14:12, Ethan Fahy < ()> wrote:
> 
> >  I'd like to migrate away from my current usage of BIND_PER_PRIMITIVE so 
> > that I can start using current versions of OSG.
> > 
> > I have working code that does color binding on a per primitive basis.  I 
> > believe I have a good reason to do so:  I have a separate program that 
> > tells me what the temperature is for facets on a building.  This means that 
> > I have one temperature value for each primitive.  I can convert the 3-D 
> > building model that the program uses into an .ive file.  I need to color 
> > each side of the building according to temperature, so the natural fit is 
> > to use BIND_PER_PRIMITIVE.
> > 
> > The problem is that if I have a building in a single geometry object, it 
> > ends up having shared vertices which means I can't effectively color per 
> > primitive by setting all vertices the same color and coloring by vertex.
> > 
> > The only solution I can think of is to split the single building geometry 
> > up so that each primitive in the building is its own geometry so that there 
> > are no shared vertices within the geometries and I can color each vertex by 
> > the color of the primitive.
> > 
> > Am I missing anything?  I tried looking in the forum archives but I was 
> > confused by most of the conversation about this topic.
> > 
> > -Ethan
> > 
> > ------------------
> > Read this topic online here:
> > http://forum.openscenegraph.org/viewtopic.php?p=57865#57865 
> > (http://forum.openscenegraph.org/viewtopic.php?p=57865#57865)
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > osg-users mailing list
> >  ()
> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 
> > (http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org)
> > 
> 
> 
>  ------------------
> Post generated by Mail2Forum


------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=57868#57868





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to