[osg-users] "LOS" materail query
Mike Greene
mgreene at hiwaay.net
Wed Aug 26 12:34:58 PDT 2015
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
More information about the osg-users
mailing list