Hi @pkinnane
Surface mapping is the default mapping if the referenced texture mapping channel does not exist. And it is possible that the ON_Mesh::m_T has been set to surface mapping before Octane starts rendering. All surface render meshes have surface mapping applied by default when they’re created.
Here’s sample code for you how to access the correct mappings using the RhinoCommon 7. If you’re not planning to support sub-object materials you can skip them. That sample does not deal with WCS projected textures - the Rhino 8 sample does.
We are currently investigating the possibility of making Rhino 8 update the ON_Mesh::m_T array. That is because there are so many users having these issues and we’ve been too slow providing 3rd party developers with support how to fix this.