Hi Art,

Thanks for your patience.  I have now reviewed and merged your
submission, and fixed a couple of missing intializers and added a
missing method implementation that was preventing linking on my system
- all fixes were to Output.cpp.  The

The missing method implemenation was:

    Output::getShaderFileNameForOutput()

And the missing initializers were:

    _outputShaderFiles = false;
    _shaderFileNameNumber = 0;

>From Ouput::init().

With these fixes things look to be working just fine.

Cheers,
Robert.

On Thu, Jan 24, 2008 at 2:10 PM, Art Tevs <[EMAIL PROTECTED]> wrote:
> Hi folks.
>
>  I have attached a patch to the current osg (revision
>  7835) which extends the functionality of osgDB and
>  osgdb_osg plugin for non-embedded (non-inlined) shader
>  source codes in the .osg files (similar to textures).
>  Here the description;
>
>  ----------------------------------------------------
>  - New functions writeShaderFile and readShaderFile to
>  the osgDB namespace added. The functions allows
>  directly write and read of shaders in/from the files
>
>  - New methods to osgDB::Registry, osgDB::ReaderWriter,
>  osgDB::Input, osgDB::Output added. The methods allows
>  similar to osg::Image writing and reading of the
>  shader sources from and to the files.
>
>  - New plugin osgdb_glsl added. This plugin do simply
>  read or write glsl shader sources from files. Options
>  to the readShader method can be added informing about
>  the type of the shader source which is readed from the
>  file ("fragment", "vertex", "geometry")
>
>  - New methods in osg::Shader allowing storing of the
>  filename where the shader source was readed from. The
>  filename can also be used to specify where the source
>  code has to be written to.
>
>  - Changed the functionality of osgdb_osg Plugin to
>  allow either to embed the shader source code or to
>  write it to external files. This behaviour is similar
>  to the texture behaviour. If the
>  osgDB::Output::getOutputShaderFiles() methods returns
>  true, then the source code is written to a file and
>  .osg file just get the reference to that file. If the
>  method returns false, then the source code is
>  embedded. Default behvaiour is to embed the code.
>
>  -------------------------------------------------------
>  Testings:
>
>  The source code was successfully compiled against the
>  current osg (rev. 7835). Call of
>  osgDB::writeShaderFile(shader, "test.glsl") does
>  writes the shader to the file as expected. Call of
>  osgDB::readShaderFile("test.glsl") does read the code
>  appropriately.
>
>  Writing to .osg files does also performs as before.
>  Specifying of
>  osgDB::Output::setOutputShaderFiles(true) does writes
>  the shader sources to external files and add "file
>  file.glsl" sequence into the .osg file instead of
>  "code ..." sequence.
>  -------------------------------------------------------
>
>  I would be lucky if this functionality will be
>  included into the osg, since from my point of view
>  (and as already discussed with Mike) this is what we
>  really need.
>
>  Best regards,
>  Art
>
>
>       Machen Sie Yahoo! zu Ihrer Startseite. Los geht's:
>  http://de.yahoo.com/set
> _______________________________________________
>  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

Reply via email to