Hi andreas,
sorry for my poor english!
making a little summary of this post i'd ask you:
if i assign vertices colors with ->setcolors, will i be able to retrieve
them in the shader using a command like:
outColor = gl_Color;
thx enrico
Il gio, 2004-07-15 alle 14:15, Andreas Zieringer ha scritto:
> Hi Enrico,
>
> to get the colors
>
> GeometryPtr geo = ...
>
> GeoColorsPtr colors = geo->getColors();
>
> For the other poperties
> GeoColorsPtr colors2 = geo->getSecondaryColors();
> GeoTexCoordsPtr texcoord0 = geo->getTexCoords();
> GeoTexCoordsPtr texcoord1 = geo->getTexCoords1();
> ....
>
> To set them
>
> if(colors == NullFC)
> {
> // Geometry has no vertex colors so we create some.
> colors = GeoColors3f::create();
> beginEditCP(geo);
> geo->setColors(colors);
> endEditCP(geo);
> colors->resize(geo->getPositions()->getSize());
> }
>
> beginEditCP(colors);
> for(UInt32 i=0;i<geo->getPositions()->getSize();++i)
> {
> // set the color for each vertex.
> colors->setValue(Color3f(0.0, 0.0, 1.0), i);
> }
> endEditCP(colors);
>
> if(geo->getIndexMapping().size() > 0)
> {
> beginEditCP(geo);
> Int16 pi = geo->calcMappingIndex(Geometry::MapPosition);
> geo->getIndexMapping()[pi] |= Geometry::MapColor;
> endEditCP(geo);
> }
>
>
>
>
> > hiya,
> > I am expanding my app,
> > now after some playing with reflections and refractions,
> > i'd like to add shades and colors,
> > but for so doing, i need to get the color values of the vertices,
> > and the "illumination" level.
> > How do i pass the color to the shader? I think in the shader will be
> > something like
> >
> > vec4 outColor = gl_Color;
> >
> > but in OpenSG? A simple ->setColors(red) would do the trick?
> >
> > Regarding the illumination level, it should be a simple float, ranging
> > [0,1], telling me how much light is hitting the point... where to store
> > that value per vertex? is there an unused slot that i can use to my
> > convenience? Something like a second texcoord set to use as a mere pipe
> > between OSG and the shader. So my shader should retrive the value like:
> >
> > float lightlevel = gl_TexCoord[1].x;
> >
> > hope someone can help,
> > enrico
>
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users