I'm not sure I remember exactly how we got ourselves into this mess, but probably 10 or more years ago I had the bright idea that if an OpenEXR file contained the metadata "worldToNDC", it should be automatically renamed "worldtoscreen" on the way through the OIIO API, and vice versa on the way to output.
This is probably due to a misunderstanding on my part. Perhaps I thought "worldToNDC" was a misnaming (on OpenEXR's part) for the world-to-screen typically used by PRMan for shadow map z files. But it has recently come to my attention by carefully reading OpenEXR's ImfStandardAttributes.h that worldToNDC really does mean the [0..1] range NDC space, not "screen" space. So... If we removed this name translation, so that "worldToNDC" kept its name and identified itself as the world-to-NDC matrix, and "worldToScreen", if present, gives the world-to-screen matrix, would any applications or use cases be horribly broken by this? Considering that we never quite implemented shadow maps, which this was designed for, maybe nobody cares? (Finishing shadow maps was still on the "to do" list of the texture system when suddenly path tracing swept through all the high-end renderers and nobody put any pressure to complete the feature.) I'm considering removing this name translation, and also making it so that, at least as far as the texture system and OSL are concerned, if you ask for "worldtoscreen" and such metadata does not exist but "worldtoNDC" DOES, it will assemble the right matrix for you, and vice versa. (It's just a scale and translation to go back and forth.) Does that sound sufficient, or am I about to ruin the rest of your year? -- Larry Gritz l...@larrygritz.com _______________________________________________ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org