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
2015-04-19 22:03:42 +10:00
2015-05-01 01:15:55 +10:00
2013-12-24 22:57:27 +06:00
2014-08-08 06:00:49 +10:00
2015-03-24 07:49:17 +11:00
Description
No description provided
926 MiB
Languages
C++ 78.1%
Python 15%
C 2.8%
GLSL 1.8%
CMake 1.2%
Other 0.9%