[Bf-extensions-cvs] [fbc03fdd] master: Cycles: update addons for squared roughness convention.
Brecht Van Lommel
noreply at git.blender.org
Sat Mar 10 20:32:18 CET 2018
Commit: fbc03fdd10836f79c509e5d8c19514bc5f983253
Author: Brecht Van Lommel
Date: Sat Mar 10 20:25:27 2018 +0100
Branches: master
https://developer.blender.org/rBAfbc03fdd10836f79c509e5d8c19514bc5f983253
Cycles: update addons for squared roughness convention.
===================================================================
M materials_utils/material_converter.py
M materials_utils/materials_cycles_converter.py
M modules/cycles_shader_compat.py
===================================================================
diff --git a/materials_utils/material_converter.py b/materials_utils/material_converter.py
index c682e612..bf52bec1 100644
--- a/materials_utils/material_converter.py
+++ b/materials_utils/material_converter.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import bpy
+import math
from mathutils import Vector
from bpy.types import Operator
from .warning_messages_utils import (
@@ -665,7 +666,7 @@ def makeCyclesFromBI(cmat):
# Make Diffuse and Output nodes
mainShader = makeMainShader(TreeNodes)
- mainShader.inputs['Roughness'].default_value = cmat.specular_intensity
+ mainShader.inputs['Roughness'].default_value = math.sqrt(max(cmat.specular_intensity, 0.0))
mainDiffuse = mainShader
materialOutput = makeMaterialOutput(TreeNodes)
links.new(mainShader.outputs['BSDF'], materialOutput.inputs['Surface'])
diff --git a/materials_utils/materials_cycles_converter.py b/materials_utils/materials_cycles_converter.py
index ddd4eb6e..13e1e1ec 100644
--- a/materials_utils/materials_cycles_converter.py
+++ b/materials_utils/materials_cycles_converter.py
@@ -6,7 +6,7 @@ import bpy
from os import path as os_path
from bpy.types import Operator
from math import (
- log2, ceil,
+ log2, ceil, sqrt,
)
from bpy.props import (
BoolProperty,
@@ -381,7 +381,7 @@ def AutoNode(active=False, operator=None):
else:
# Create Clay Material (Diffuse, Glossy, Layer Weight)
shader.inputs['Color'].default_value = PAINT_SC_COLOR
- shader.inputs['Roughness'].default_value = 0.9
+ shader.inputs['Roughness'].default_value = 0.9486
# remove Color Ramp and links from the default shader and reroute
try:
@@ -415,10 +415,10 @@ def AutoNode(active=False, operator=None):
shader.inputs['Roughness'].default_value = cmat.specular_intensity
if shader.type == 'ShaderNodeBsdfGlossy':
- shader.inputs['Roughness'].default_value = 1 - cmat.raytrace_mirror.gloss_factor
+ shader.inputs['Roughness'].default_value = sqrt(max(1 - cmat.raytrace_mirror.gloss_factor, 0.0))
if shader.type == 'ShaderNodeBsdfGlass':
- shader.inputs['Roughness'].default_value = 1 - cmat.raytrace_mirror.gloss_factor
+ shader.inputs['Roughness'].default_value = sqrt(max(1 - cmat.raytrace_mirror.gloss_factor, 0.0))
shader.inputs['IOR'].default_value = cmat.raytrace_transparency.ior
if shader.type == 'ShaderNodeEmission':
diff --git a/modules/cycles_shader_compat.py b/modules/cycles_shader_compat.py
index 8a967f46..c85ba667 100644
--- a/modules/cycles_shader_compat.py
+++ b/modules/cycles_shader_compat.py
@@ -19,6 +19,7 @@
# <pep8 compliant>
import bpy
+import math
__all__ = (
"CyclesShaderWrapper",
@@ -392,7 +393,7 @@ class CyclesShaderWrapper():
def hardness_value_set(self, value):
node = self.node_mix_color_hard
- node.inputs["Color1"].default_value = (value,) * 4
+ node.inputs["Color1"].default_value = (math.sqrt(max(value, 0.0)),) * 4
def hardness_image_set(self, image):
node = self.node_mix_color_hard
More information about the Bf-extensions-cvs
mailing list