BREAKING NEWS
LATEST POSTS
-
Brett Jones / Phil Reyneri (Lightform) / Philipp7pc: The study of Projection Mapping through Projectors
Video Projection Tool Software
https://hcgilje.wordpress.com/vpt/
https://www.projectorpoint.co.uk/news/how-bright-should-my-projector-be/
http://www.adwindowscreens.com/the_calculator/
heavym
https://heavym.net/en/
MadMapper
https://madmapper.com/ -
Sony buys $250 million (1.5%) minority stake in Epic Games
The deal gives Sony a minority interest in the game development studio and publisher last estimated to be valued as high as $17 billion
www.theverge.com/2020/7/9/21318978/sony-epic-games-fortnite-investment-250-million-game-development
-
14 Signs Of An Adaptable Person
www.forbes.com/sites/jeffboss/2015/09/03/14-signs-of-an-adaptable-person/#46bd90e016ea
1. Adaptable people experiment.
2. Adaptable people see opportunity where others see failure.
3. Adaptable people are resourceful.
4. Adaptable people think ahead.
5. Adaptable people don’t whine.
6. Adaptable people talk to themselves.
7. Adaptable people don’t blame.
8. Adaptable people don’t claim fame.
9. Adaptable people are curious.
10. Adaptable people adapt.
11. Adaptable people stay current.
12. Adaptable people see systems.
13. Adaptable people open their minds.
14. Adaptable people know what they stand for.
-
Convert between light exposure and intensity
import math,sys def Exposure2Intensity(exposure): exp = float(exposure) result = math.pow(2,exp) print(result) Exposure2Intensity(0) def Intensity2Exposure(intensity): inarg = float(intensity) if inarg == 0: print("Exposure of zero intensity is undefined.") return if inarg < 1e-323: inarg = max(inarg, 1e-323) print("Exposure of negative intensities is undefined. Clamping to a very small value instead (1e-323)") result = math.log(inarg, 2) print(result) Intensity2Exposure(0.1)
Why Exposure?
Exposure is a stop value that multiplies the intensity by 2 to the power of the stop. Increasing exposure by 1 results in double the amount of light.
Artists think in “stops.” Doubling or halving brightness is easy math and common in grading and look-dev.
Exposure counts doublings in whole stops:- +1 stop = ×2 brightness
- −1 stop = ×0.5 brightness
This gives perceptually even controls across both bright and dark values.
Why Intensity?
Intensity is linear.
It’s what render engines and compositors expect when:- Summing values
- Averaging pixels
- Multiplying or filtering pixel data
Use intensity when you need the actual math on pixel/light data.
Formulas (from your Python)
- Intensity from exposure: intensity = 2**exposure
- Exposure from intensity: exposure = log₂(intensity)
Guardrails:
- Intensity must be > 0 to compute exposure.
- If intensity = 0 → exposure is undefined.
- Clamp tiny values (e.g.
1e−323
) before using log₂.
Use Exposure (stops) when…
- You want artist-friendly sliders (−5…+5 stops)
- Adjusting look-dev or grading in even stops
- Matching plates with quick ±1 stop tweaks
- Tweening brightness changes smoothly across ranges
Use Intensity (linear) when…
- Storing raw pixel/light values
- Multiplying textures or lights by a gain
- Performing sums, averages, and filters
- Feeding values to render engines expecting linear data
Examples
- +2 stops → 2**2 = 4.0 (×4)
- +1 stop → 2**1 = 2.0 (×2)
- 0 stop → 2**0 = 1.0 (×1)
- −1 stop → 2**(−1) = 0.5 (×0.5)
- −2 stops → 2**(−2) = 0.25 (×0.25)
- Intensity 0.1 → exposure = log₂(0.1) ≈ −3.32
Rule of thumb
Think in stops (exposure) for controls and matching.
Compute in linear (intensity) for rendering and math. -
Ennio Morricone RIP
https://www.hollywoodreporter.com/news/ennio-morricone-dead-prolific-italian-composer-was-91-858358
FEATURED POSTS
-
Colour – MacBeth Chart Checker Detection
github.com/colour-science/colour-checker-detection
A Python package implementing various colour checker detection algorithms and related utilities.