Hi Thomas.

Could it be that you are hitting up against the NVidia driver issue
relating to the handing of uniform arrarys.  The svn/trunk version of
the OSG has a workaround for this issue so would recommend trying
this.

Robert.

On Thu, Sep 29, 2011 at 3:30 AM, Thomas Hogarth
<[email protected]> wrote:
> Hi Guys
> I've been trying to run the osganimationhardware example for osg 3.0.1 on
> windows7 32bit with Geforce GTX 560 and latest drivers 280.26 . In the past
> I have had this running (not on this machine or osg version), I simply
> downloaded the osgData collection with the nathan.osg and skinning.vert
> shader file.
> However now when I'm running it, anything that is skinned does not render. I
> have altered the shader to just use the gl_Vertex position rather then the
> weighted position and then the object renders (so verts are fine). I have
> also used the boneWeight0 uniforms to colour the mesh and they seem to have
> decent values.
> The only thing that doesn't seem to have good values is
> uniform mat4 matrixPalette[MAX_MATRIX];
> When I checked the converted shader the value of MAX_MATRIX seems to be set
> correctly, but if I used the first line of the first matrix as the colour
> value, like
> gl_FrontColor = matrixPalette[0][0];
> It is always black,
> Looking at the uniform attached to the geoms stateset I can see roughly the
> following in the debugger
> _uniformList = [2](("matrixPalette", ({_ptr=0x0d0bfb58 },
> 0)),("nbBonesPerVertex", ({_ptr=0x0d0bf3b8 }, 0)))
> _ptr = 0x0d0bfb58 {_parents=[1](0x0d0bfed8 {_parents=[1](0x00df9bf8
> {_name="" _dataVariance=DYNAMIC _userDataContainer=0x00000000 })
> _modeList=[0]() _attributeList=[1](((PROGRAM, 0), ({_ptr=0x0d0bc9c0 }, 0)))
> ...}) _type=FLOAT_MAT4 _numElements=3 ...}
> osg::MixinVector<float> =
> {_impl=[48](1.0000000,0.00000000,0.00000000,0.00000000,0.00000000,1.0000000,0.00000000,0.00000000,0.00000000,0.00000000,1.0000000,0.00000000,0.00000000,0.00000000,0.00000000,1.0000000,0.99998939,0.0046100151,0.00000000,0.00000000,-0.0046100151,0.99998939,0....
>
> So if the colour is the first vec4 of the matrixPalette uniform it should
> be 1.0000000,0.00000000,0.00000000,0.00000000, but it's just black.
> Can anyone confirm the osganimationhardware example is currently working
> with these assets
> http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets
>
> Any help would be awesome
> Tom
> PS
> My config looks like this
> #ifndef OSG_CONFIG
> #define OSG_CONFIG 1
> /* #undef OSG_NOTIFY_DISABLED */
> /*#define OSG_USE_FLOAT_MATRIX
> #define OSG_USE_FLOAT_PLANE
> #define OSG_USE_FLOAT_BOUNDINGSPHERE
> #define OSG_USE_FLOAT_BOUNDINGBOX*/
> #define OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION
> /* #undef OSG_USE_UTF8_FILENAME */
> #define OSG_DISABLE_MSVC_WARNINGS
> #define OSG_GL1_AVAILABLE
> #define OSG_GL2_AVAILABLE
> /* #undef OSG_GL3_AVAILABLE */
> /* #undef OSG_GLES1_AVAILABLE */
> /* #undef OSG_GLES2_AVAILABLE */
> /* #undef OSG_GL_LIBRARY_STATIC */
>  #define OSG_GL_DISPLAYLISTS_AVAILABLE
>  #define OSG_GL_MATRICES_AVAILABLE
>  #define OSG_GL_VERTEX_FUNCS_AVAILABLE
>  #define OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE
>  #define OSG_GL_FIXED_FUNCTION_AVAILABLE
> #endif
> I mention it as originally I dived straight into trying it without any fixed
> functionality essentially emulating gles2, but had this same issue. I've
> then gone for the more standard build above, but the result is the same
> (although now I see objects that aren't skinned) If I can get this working
> again on desktop then I don't think getting it working on gles2 will be too
> much hassle (unless I hit some shader variable length limit).
> Also standard osgAnimationViewer works fine
> _______________________________________________
> 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

Reply via email to