question

John Smith avatar image
John Smith asked ·

blackbody intensity

Hello,


I am currently doing some bb related math in vex and need to match (as most as possible) arnold's bb output, but cant figure out what multiplier is used to drive intensity. In my formula, once i get rgb from temp and spectrum , i do multiplication by BOLTZMANN_CONSTANT * T*T*T*T which produces huge ranges pretty quickly, but arnold outputs orders of magnitude lower values even at intensity=1 for the same temperatures. Could you elaborate on what intensity rescaler is used ?

shader
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Thiago Ize avatar image
Thiago Ize answered ·

What if you multiply the result with (1e-6f / AI_PI)? That could explain your orders of magnitude difference?

2 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

thanks, this reduced the difference down to roughly x1.2 (in case if i normalize rgb and then multiply by all constants, and x2 if unnormalized). Does it has some physical meaning ?

0 Likes 0 · ·

The division by PI is required in order to get radiance. As for the 1e-6, I don't know why that was done. It wouldn't surprise me if there's no physical meaning and it's just what happens to give pretty results with commonly used arnold settings.

0 Likes 0 · ·
Max Tarpini avatar image
Max Tarpini answered ·

IIRC,

once you get to rgb using Planck's energy distribution formula given the temperature of the emitter in degrees Kelvin (and the wavelength..)... you probably want to use the Stefan-Boltzmann constant times the fourth power of the temperature (as per Stefan's law).


1 comment Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Initially, i did exactly that -- multiply by BOLTZMANN_CONSTANT * T*T*T*T , but quickly went to millions while the arnold's output is about few hundreds (i am generating temperatures up to 13000 K)

0 Likes 0 · ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.