1.3.2 UPDATE: Bugfix
1.3 UPDATE: I have added a complete ENVIRONMENT conversion and full wavelength calculation!
PLEASE Filter Glossy on 0! Cause else you miss the beautiful color caustics! Use clamp or dispersion roughness instead (not too much).
You can get it from here: http://www.blendswap.com/blends/view/71195
V 1.3.2
-Bugfix (absorbtion socket)
V 1.3.1
FIXED SSS mistake !
V 1.3
-
Added wavelength environment node ! Simply put it as the environment texture, attach an image to it, and voala, you have a NONoverexposed, SPECTRAL environment! It includes gamma and HSV preprocessing controls for the image. It converts/remaps any image to wavelengths, also LDR. It is not an RGB splitter, but true float wavelength remapping with curves!
-
Added wavelength absorbtion settings to ALL shaders + the option to mix with the usual color input.
-
Added Fresnel to Transparency
-
Fixed internal routing, some default organisation and other minor things
NOTE Regarding the spectral environment node:
Cycles can handle wavelength data renders in float, but is NOT an unbiased full spectral renderer. Meaning that the wavelengths calculated here are only 9 separate value spikes in the full spectrum (like laser). A true blackbody emission would mean a full spectral emission with infinite/interpolated frequencies! This is the theory.
BUT you won’t make the difference to a luxrender, even if the wavelengths are NOT interpolated IF you set your scene CORRECTLY! Also it is WAY faster than an unbiased rendering! (but a little bit slower than normal)
Volumetrics are due to actual node limitations on hold. 2.7 is coming!
V 1.2
-
Added spectral based dispersion in nanometer from NearInfrared to NearUltraviolet. From 730nm to 410nm. Dispersion is separated internal by All shaders socket. Maximum GPU speed. Has its own socket with organised nodes! Plug and play!
-
Added Wavelength based Emission and mixable with the normal emission color.
Note: Always use at least 0.001 Dispersion Roughness! Light refracts always with little roughness (aberration) ! Else you will have some black corners depending on the geometry > no energy transport to the infinite small edges !
Also the wavelength settings are in NANOMETER (ex. 450, else you see nothing!), NOT 0 to 1! Simply enter the nm that are written in each setting (Green 530nm) I put range limits for each color(+/-10nm) for not going beyond the spectral limits bumping into each other with the mouse, but you can numerically making things like real thermal/IR renderings, etc…
V 1.1
UPDATE! Up to 300% faster depending on shader!
-
Internally rerouted for direct output of each shader and combinations
-
Added Output sockets for separate FAST GPU computing: Diffuse, Diffuse+Glossy,Translucency,Transluc+Glossy, Refraction (incl Glass option), Refraction+Glossy, SSS+ Glossy, SSS, Velvet, Velvet+Glossy, Hair (incl. Fresnel), Emission, Emission+Glossy and the SSS Displacement & Displacement passtrough.
-
Now it runs at MAX GPU speed due to direct separate sockets.
V 1.0
- Added SSSgpu from blazraidr
- Added Velvet shader with additional Fresnel
- Added Hair shader with complete I/Os and additional Fresnel
- Added Translucency shader
- Added Displacement Passtrough (for easier workflow)
- Reorganised colors and internal grouping
- Renamed each MAIN node input for easier reading.
- Kept energy balance across all shaders
- Kept computation holdout if a shader is not used.
SSS works with front scattering also. Don’t forget, if you forget the SSS contrast value, press simply e.
(don’ forget, if you forget… LOOOOL :-D, i’m nuts :-P)
Always begin with the default values. (-3.000, 8.000 and e=2.718) and tweak from there.
I simply replaced the SSS branch mix, so energy conservation should remain correct.
If m9105826 could further optimize with blazraidr together the Ubershader would be great.
For example to have the absorption for other tasks too, like fog (would mean a smart internal setup).
I am not a node/math guru like them… But as far as i can do…
UPDATE: I will later try to do add a pure volumetrics shading for atmosphere and water. Still if someone wants to add it, you’re welcome :-).
The SSS has already its own SSS Color and Bump inputs, so it’s logical to set the main difusse to 0 !
For beginners: If you already have the Ubershader assigned, remove (don’t disconnect only!), then mark Shift+click the X to delete, save, quit, and then append to this blend file. So you don’t get confused by two versions. Or you can also rename the new GROUP (not shader!).
Have fun.
It would be great to have a universal shader in the main branch! especially for newcomers.
One material, endless shading. What i really wanted to do (but can’t?) is to have browsing for textures integrated, not only colors AND to select and collapse a defined group (by me) of values so that the shader is not so high like a mountain. LOL
I do this for fun and my short animation i am working on heavily for 4K. Everything i do for Blender will be CC Zero! Many thanks for this wonderful software!