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

Reply via email to