Hi,J.P.

suggested code don't works on OSG SVN geforce8600M GT
if I copy in the loop all works fine 

so this code doesn't work

//Transmittance
        data = new float[256*64*3];
    f = fopen("data/transmittance.raw", "rb");
    fread(data, 1, 256*64*3*sizeof(float), f);
    fclose(f);

        Transmittance_t = new osg::Texture2D;
        Transmittance_t->setSourceFormat(GL_RGBA);
    Transmittance_t->setSourceType(GL_FLOAT);

    Transmittance_t->setFilter(osg::Texture2D::MIN_FILTER, 
osg::Texture2D::LINEAR);
    Transmittance_t->setFilter(osg::Texture2D::MAG_FILTER, 
osg::Texture2D::LINEAR);
        Transmittance_t->setWrap(osg::Texture2D::WRAP_T, 
osg::Texture2D::CLAMP_TO_EDGE);
        Transmittance_t->setWrap(osg::Texture2D::WRAP_S, 
osg::Texture2D::CLAMP_TO_EDGE);
        osg::Image* image_Transmittance = new osg::Image;
        image_Transmittance->setImage(256,64,1, GL_RGB, GL_RGB32F_ARB, 
GL_FLOAT,(unsigned char*)data, osg::Image::NO_DELETE); 
    Transmittance_t->setImage(image_Transmittance);
        delete[] data;

and this code works fine

//Transmittance
        data = new float[256*64*3];
    f = fopen("data/transmittance.raw", "rb");
    fread(data, 1, 256*64*3*sizeof(float), f);
    fclose(f);
        Transmittance_t = new osg::Texture2D;
        //Transmittance_t->setInternalFormat(GL_RGB16F_ARB);
        Transmittance_t->setSourceFormat(GL_RGBA);
    Transmittance_t->setSourceType(GL_FLOAT);

    Transmittance_t->setFilter(osg::Texture2D::MIN_FILTER, 
osg::Texture2D::LINEAR);
    Transmittance_t->setFilter(osg::Texture2D::MAG_FILTER, 
osg::Texture2D::LINEAR);
        Transmittance_t->setWrap(osg::Texture2D::WRAP_T, 
osg::Texture2D::CLAMP_TO_EDGE);
        Transmittance_t->setWrap(osg::Texture2D::WRAP_S, 
osg::Texture2D::CLAMP_TO_EDGE);
        osg::Image* image_Transmittance = new osg::Image;
        image_Transmittance->allocateImage(256,64,1,GL_RGB, GL_FLOAT,1);
         image_Transmittance->setInternalTextureFormat(GL_RGB);
         float* dataPtr_Transmittance = (float*)image_Transmittance->data();
         for(int i=0;i<256*64*3;i++)
    {
        *dataPtr_Transmittance++ = data[i];
    }
    Transmittance_t->setImage(image_Transmittance);
        delete[] data;


... 

Thank you!

Cheers,
Roman

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





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

Reply via email to