Hello,
For your next threads, please help us keeping things organised and clean. I know it's not your priority but it really simplify our work here.
I've added the tags and marked this thread as a question so when you considered it as solved, please change the state 
Regarding your question, there's no "one solution".
If you have the uvw position, you have to check every polygon if they are overlapping this uvw coordinates. Depending on how your uvs are done, you can have several polygons overlapping.
For each polygons, you have to calculate the barycentric coordinate. Once you have this, you can retrieve the 3D coordinates. We have functions that can help you CalculateBarycentricCoordinate.
This manual about Geometry Utility can be very helpful also (Barycentric Coordinates, Intersection, Points Inside etc.).
The Output
function is not the right place to do everything. You have probably to prepare a KDtree to help you to retrieve the polygon overlapping a uvw coordinate. This can be prepared in the InitRender function.
I'm not sure what you are trying to do, but reacting for 3D position can be bad on the case of polygon having their UVs overlapping. (think about a cube where all faces have their uvs maximized and overlapping)
Cheers,
Manuel.