blender/intern
Sv. Lockal 7201f6d14c Cycles: Use curve approximation for blackbody instead of lookup table
Now we calculate color in range 800..12000 using an approximation a/x+bx+c for R and G and ((at + b)t + c)t + d) for B.
Max absolute error for RGB for non-lut function is less than 0.0001, which is enough to get the same 8 bit/channel color as for OSL with a noticeable performance difference.
However there is a slight visible difference between previous non-OSL implementation because of lookup table interpolation and offset-by-one mistake.
The previous implementation gave black color outside of soft range (t > 12000), now it gives the same color as for 12000.

Also blackbody node without input connected is being converted to value input at shader compile time.

Reviewers: dingto, sergey

Reviewed By: dingto

Subscribers: nutel, brecht, juicyfruit

Differential Revision: https://developer.blender.org/D1280
2015-05-05 06:11:54 +00:00
..
atomic Fixes for atomic operations when building with MSVC 2014-12-02 16:38:09 +05:00
audaspace CMake: Enable strict flags for C++ 2015-03-27 18:23:31 +05:00
container Rework carve integration into boolean modifier 2014-02-13 17:16:53 +06:00
cycles Cycles: Use curve approximation for blackbody instead of lookup table 2015-05-05 06:11:54 +00:00
dualcon Dualcon: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
elbeem CMake: correct include dirs 2014-07-01 09:36:28 +10:00
ffmpeg Fix video FFmpeg nt being able to produce video files due to usage of deprecated settings 2014-04-15 00:15:09 +06:00
ghost Cleanup: style 2015-04-13 22:08:51 +10:00
glew-mx CMake: error making get_blender_version a function 2015-02-25 18:15:54 +11:00
guardedalloc Guardedalloc: Don't use aligned blocks to calculate memory sloppyness 2015-04-20 19:23:25 +05:00
iksolver Code cleanup: white space and cmake was broken on all platforms 2014-02-03 13:56:34 +11:00
itasc CMake: unbundle eigen3 2015-03-19 15:41:41 +11:00
locale Cleanup: cmake 2014-11-13 15:30:32 +01:00
memutil Change movie cache to use vectors instead of lists. 2015-02-05 15:06:25 +01:00
mikktspace Style Cleanup: remove preprocessor indentation (updated wiki style guide too) 2013-12-22 14:12:19 +11:00
moto BGE: TrackTo actuator: increasing up & track axis options 2014-07-14 18:30:27 -07:00
opencolorio OpenColorIO: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
opennl Fix limit check before accessing array in opennl 2015-01-21 17:19:39 +05:00
raskter code cleanup: use NULL rather then 0 for pointers, and make vars static where possible. 2013-03-22 05:34:10 +00:00
rigidbody Code cleanup 2014-07-18 11:55:59 +10:00
smoke CMake: only quiet warnings for generated rna files 2015-02-08 15:08:31 +11:00
string fix for buffer out-of-bounds reading for STR_String comparisons with char arrays. 2013-03-22 21:26:59 +00:00
utfconv Warning cleanup: 2014-03-22 14:41:38 +02:00
CMakeLists.txt Ghost Context Refactor 2014-10-07 15:47:32 -05:00
SConscript Ghost Context Refactor 2014-10-07 15:47:32 -05:00