OK, fixed that - loaded an .ive file and was able to get correct looking
texture coordinates. In a .ive file with embedded textures, is there a
textureName? Probably not - not really important.
But the code does say that there is one image in the texture. But doing the
getImage(0) does not return a valid image and thus no color from the texture is
returned.
Code:
osgUtil::LineSegmentIntersector::Intersections intersections;
if (viewer->computeIntersections(ea, intersections))
{
const osgUtil::LineSegmentIntersector::Intersection&
hit = *intersections.begin();
//MGREENE
std::cout << "hit = " <<
hit.getLocalIntersectPoint().x() << "," << hit.getLocalIntersectPoint().y() <<
"," << hit.getLocalIntersectPoint().z() << std::endl;
osg::Vec3 tc(0, 0, 0);
osg::Texture* myTexture = hit.getTextureLookUp(tc);
std::cout << "tc = " << tc.x() << "," << tc.y() << ","
<< tc.z() << std::endl;
if (myTexture){
std::string myString = myTexture->getName();
std::cout << "texturename = " << myString <<
std::endl;
int numImages = myTexture->getNumImages();
std::cout << "numImages = " << numImages <<
std::endl;
osg::Image *myImage = myTexture->getImage(0);
if (myImage) {
osg::Vec4 textureColor =
myImage->getColor(tc);
std::cout << "textureColor = " <<
textureColor.r() << "," << textureColor.b() << "," << textureColor.g() << ","
<< textureColor.a() << std::endl;
}
}
//END MGREENE
...
Thank you!
Cheers,
Mike
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=64908#64908
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org