Hi,

I am trying to set an image on disk to my texture. Image dimension is 1800 by 
1200 i.e. width = 1800 & height = 1200. But I am doing something wrong here due 
to which I am getting bad output. Can anyone help me here. This is my code -


std::ifstream imageToRead;
imageToRead.open("E:\\my 
code\\OpenSceneGraph-3.3.7\\OpenSceneGraph-Data-3.0.0\\Images\\1.jpg", 
std::ios::in | std::ios_base::binary);

imageToRead.seekg(0, std::ios::end);
int n = imageToRead.tellg();
imageToRead.seekg(0, std::ios::beg);

char* res = new char[n];

imageToRead.read(res, n);

imageToRead.clear();
imageToRead.close();

osg::Image* bufferImage = new osg::Image;
bufferImage->setImage(1800, 1200, 1, GL_RGB, GL_RGB, GL_UNSIGNED_BYTE, 
(unsigned char*)res, Image::USE_NEW_DELETE);

osg::Texture2D* texture = new osg::Texture2D(bufferImage);
texture->setResizeNonPowerOfTwoHint(false);
stateset->setTextureAttributeAndModes(0, texture);

... 


Thank you!

Cheers,
Harshal
Code:




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





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

Reply via email to