-
Notifications
You must be signed in to change notification settings - Fork 620
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenEXRCore 3.1.1 - A detailed writing example #1900
Comments
hrm, yeah, the setting up of the pointers is a bit upside down, you want use the setup for each chunk and then init /update the writing context for each chunk written. You can see a good / simple writing loop at src/test/OpenEXRCoreTest/writing.cpp line 759 or so is doEncodeScan |
the core layer does not have utilities to write a whole image, it is a bit lower level and forces you to work in chunks... |
Thank you so much! It worked! I had believed that the pointers were only needed for the starting locations of the channel data and that the encoding pipeline would do the chunk striding inside channel. (I found doEncodeScan() in src/test/OpenEXRCoreTest/compression.cpp).
|
nice one, glad you got it working - just as a side note, you do not need to fill in the channel name in the encoder.channels struct - it will inherit those from the exr_add_channel call (and is intended to allow you to specify the channels "out of order", then with the lexical sorting so far required by the file format, you can determine what the output ordering will be. easy for 4 channels, with lots of AOVs, can get a bit more confusing... |
thanks!! i was just about to tackle that channel business there to handle additional outputs next... let me see - Do the |
It seems I figured it out:
For others who may be looking for examples, here's one [rather hideous looking].
|
I'm working on a function that writes EXRs using Core only and what I have below does the job except all pixels have the same value (i.e. we get a constant color image) eventually. The value in questions seems to be the the RGBA value of the upper left most pixel. I couldn't find a detailed exr write example in the documentation, so I looked at the src of the EXR tests which helped a lot to get to the function here:
Yet, I must be doing something wrong. Can anybody spot the problem? A nudge in the right direction would be awesome! Thanks!
The text was updated successfully, but these errors were encountered: