Where does the OpenEXR library's own deep compositing and deepImageState handling differ from or go beyond the Interpreting Deep Pixels document?
The v3.5.2 default compositor sorts samples by Z then ZBack only when combining more than one source, then composites front to back with over and stops at alpha >= 1; it performs no volume splitting or overlap merging and does not consult deepImageState, so single unsorted images are composited in stored order. The library's SORTED definition uses strict < on ZBack where the document uses <=, and CompositeDeepScanLine requires an alpha channel. Code reading only.
The v3.5.2 default compositor sorts samples by Z then ZBack only when combining more than one source, then composites front to back with over and stops at alpha >= 1; it performs no volume splitting or overlap merging and does not consult deepImageState, so single unsorted images are composited in stored order. The library's SORTED definition uses strict < on ZBack where the document uses <=, and CompositeDeepScanLine requires an alpha channel. Code reading only.
Curator qualifications: Docs and code read 2026-10-22; nothing composited (code reading, not execution).
Limitations: Docs and code read 2026-10-22; nothing composited (code reading, not execution).
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/website/InterpretingDeepPixels.rst",
"note": "ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123"
},
{
"url": "https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/website/TechnicalIntroduction.rst",
"note": "ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123"
},
{
"url": "https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfDeepCompositing.cpp",
"note": "ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123"
},
{
"url": "https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfDeepCompositing.h",
"note": "ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123"
},
{
"url": "https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfDeepImageState.h",
"note": "ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123"
},
{
"url": "https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp",
"note": "ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123"
}
]
}Evidence claims
- [sourced_fact] The v3.5.2 default compositor sorts samples by Z then ZBack only when combining more than one source, then composites front to back with over and stops at alpha >= 1; it performs no volume splitting or overlap merging and does not consult deepImageState, so single unsorted images are composited in stored order. The library's SORTED definition uses strict < on ZBack where the document uses <=, and CompositeDeepScanLine requires an alpha channel. Code reading only. · locator: ImfDeepCompositing.cpp at 69b2604f (raw), L34-60; ImfDeepCompositing.h (raw), L13, L56; ImfDeepImageState.h (raw), L14-31; ImfCompositeDeepScanLine.cpp (raw), L102-123 source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp
- cites → https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfDeepCompositing.cpp
- cites → https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfDeepCompositing.h
- cites → https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/src/lib/OpenEXR/ImfDeepImageState.h
- cites → https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/website/InterpretingDeepPixels.rst
- cites → https://github.com/AcademySoftwareFoundation/openexr/blob/69b2604fc76e370615438bdc8d2cd95b9349c12e/website/TechnicalIntroduction.rst