Using a handle to a UV layer, the following API functions are used to read data from the layer:
ILBTargetHandle unwrapTarget; ILBTargetEntityHandle unwrapEntity; // Create job and target, add mesh to target and run job, // see example above... ILBUVLayerHandle uvLayer; ILBGetUVLayerFromTarget(unwrapTarget, unwrapEntity, &uvLayer); int32 uvLayerSize, uvLayerIndexSize; ILBGetUVLayerSize(uvLayer, &uvLayerSize); ILBGetUVLayerIndexSize(uvLayer, &uvLayerIndexSize); ILBVec2* uvArray = new ILBVec2[uvLayerSize]; int32* uvIndexArray = new int32[uvLayerIndexSize]; ILBReadUVLayerValues(uvLayer, 0, uvLayerSize, uvArray); ILBReadUVLayerIndexValues(uvLayer, 0, uvLayerIndexSize, &uvIndex); for (int32 faceVertex=0; faceVertex<uvLayerIndexSize; ++faceVertex) { const ILBVec2& uv = uvArray[uvIndexArray[faceVertex]]; // Assign uv to the corresponding face vertex, // for example... myMesh->assignUvToFaceVertex(faceVertex, uv); } delete [] uvArray; delete [] uvIndexArray; int32 width, height; ILBGetUVLayerResolutionFromTarget(unwrapTarget, unwrapEntity, &width, &height)); cout << “Recommended resolution for baking mesh is “ << width << “ “ << height << endl;