On Thu, 2007-05-03 at 20:55 +0100, Robert Osfield wrote:
> Hi Rick,
> 
> I'm not sure that this will make the difference, but you could try
> setting the internal texture format to GL_RGBA, via:
> 
>   image->setIternalTextureFormat(GL_RGBA);
> 
> As there is change that OpenGL doesn't like the GL_BGRA for internal
> texture format. 
> 
> Robert.

I inherit from osg::Image w/out any trouble at all in osgCairo. If you
want to take a look at how I do it, SVN is here. The code base is very
small, maybe 300 lines total?

svn co http://svn.const.lugatgt.org/osgCairo/trunk osgCairo

> On 5/3/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>         Hello All,
>          
>         I am stuck trying to work out how to programmatically create
>         an image for a texture.  
>         Here is what I have so far:
>          
>         osg::ref_ptr<osg::Image> image = new osg::Image();
>         int s, t; s=t=256;
>         image->allocateImage(s, t, 1, GL_BGRA, GL_UNSIGNED_BYTE);
>         
>         for (int row = 0; row < t; ++row)
>         {
>          for (int col = 0; col < s; ++col)
>          {
>           unsigned char* newImageData = image->data(col, row);
>           newImageData[0] = row;
>           newImageData[1] = col;
>           newImageData[2] = (row+col)/2; 
>           newImageData[3] = 255 - b;
>          }
>         }
>         
>         // It does not seem to work if I do not write the image out
>         and read it back in
>         osgDB::writeImageFile(*image, "temp.bmp");
>         image = osgDB::readImageFile("temp.bmp");
>         
>         osg::ref_ptr<osg::Texture2D> texture = new osg::Texture2D;
>         texture->setImage(image.get());
>         ...
>         
>          
>         
>         In this code, I am writing the image to a temp file and then
>         reading it backout again.  It seems that if I do not do this,
>         it does not work.  I am guessing I am not creating the image
>         properly, but the .bmp writer is smart enough to figure it out
>         whereas the Texture2D does not like it.  I tried looking at
>         the more verbose output and did not see anything different.  I
>         wrote both files out to a .osg file, but they were identical
>         (neither showing a texture.  Where are textures stored when
>         writing osg files anyway?)
>         
>         This is actually all in my effort to get the osgDB_lwo reader
>         using the transparency map from the .lwo file itself.  <I did
>         not imagine I would have such a tough time of it :( >.  Even
>         by writing the .bmp out and reading it back in, I am not
>         getting the alpha channel for the blending.  I have tried
>         allocating the image with "GL_BGR", with no more success.
>         
>         Like I said, I am sure I am doing something wrong.  someone
>         please help :O  Perhaps there are examples somewhere of
>         manually creating an image as a texture?
>         
>         You graveling servant
>         
>         -- Rick
>         
>          
>         
>         
>         
>         _______________________________________________
>         osg-users mailing list
>         [email protected]
>         http://openscenegraph.net/mailman/listinfo/osg-users
>         http://www.openscenegraph.org/
> 
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to