Spectral film simulations from scratch

Hey there @arctic and others,

I have been enjoying this thread a lot - really appreciate the efforts made here.

This body of work inspired me to also start experimenting. As I’m quite familiar with the ideas behind Blender’s picture formation, also called AgX coincidentally, I wanted to see how those ideas would fly for simulating a negative film + print process like you have done here.

Currently the experiment exists as a CTL script for ART. Instead of spectral data, it works on tristimulus data in all stages and uses matrices to account for the spectral sensitivites and the dye characteristics. It implements the whole process which includes exposing the negative, converting density to transmittance, exposing the paper and reading out the reflectance. I’m not certainly the first one with this idea - I believe barselino at Mastodon has been doing something fairly similar and I circled back into those posts after seeing your simulations.

In the negative and paper exposing stages, the same curve is used for all three tristimulus components, and the curves have not been matched to any particular dataset. This probably ignores some of the creative aspect of these curves, but the flipside is that the neutral axis stays neutral as a given.

The mixing matrices at each stage are controllable, which makes for some nice creative control on the end results. One can’t super intuitively tie those to any familiar terminology, though, so maybe the best would be to provide presets to roughly match the look of some familiar film + paper.

Things are still pretty bare bones and there’s a lot more to experiment with, but just wanted to say hi here. At least I managed to implement a version if the DIR couplers, ignoring the effects on the neighbourhood of the pixel, because CTL scripts can’t sample the neighbour pixels at all…

Some results so far. Parameters were quite quickly tuned, and these certainly are not as neat as yours. However, I think there’s some nice mojo to these still, a bit of a departure from a certain “digital” look.


Dealing with yellow color shift - Play Raw by @raublekick

Achieving pastel colors - Play Raw by @nish

Guys I just discovered LEDs - Play Raw by @ilia3101

GitHub - sobotka/Testing_Imagery/blue_bar_709.exr

source: signatureedits.com free raws

Ps. I will create a new thread about this if I ever get to finish the work so that it can be used also by someone else than myself.

22 Likes