I have a solution that works for my purposes. I'm including it here for future searchers.
I ended up extending BoxVisual3D. The texture coordinates, in the case of this particular Visual3D, each refer to a face of the cube. Those faces who receive an 'empty' set of 0,0 TextureCoordinates are uniform in color, based on the source image. I found this non-distracting enough to not try and solve. The front and back face, in my example, receive a specific ordered set of texture points that cause the image to be displayed in the proper upright fashion for the user. Note that creating a new point collection each time is not a good approach, as Tessellate() is called constantly.
I ended up extending BoxVisual3D. The texture coordinates, in the case of this particular Visual3D, each refer to a face of the cube. Those faces who receive an 'empty' set of 0,0 TextureCoordinates are uniform in color, based on the source image. I found this non-distracting enough to not try and solve.
The front and back face, in my example, receive a specific ordered set of texture points that cause the image to be displayed in the proper upright fashion for the user.
Note that creating a new point collection each time is not a good approach, as Tessellate() is called constantly.
The code is below.
class FaceBox : BoxVisual3D