[Bf-blender-cvs] [fbd614f1faf] blender2.8: Workbench: Highlights

Jeroen Bakker noreply at git.blender.org
Wed May 30 22:20:20 CEST 2018


Commit: fbd614f1faf805a09e260ebcd67f76a177418cf9
Author: Jeroen Bakker
Date:   Wed May 30 22:17:50 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBfbd614f1faf805a09e260ebcd67f76a177418cf9

Workbench: Highlights

Made the highlights darker (using the defaults of blender 2.7
- sharpness = 50
- spec color = 0.025 (I bumped it to 0.1)
- added a log2 to the frontal camera light to reveal more details of the
mesh

===================================================================

M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/draw/engines/workbench/shaders/workbench_world_light_lib.glsl
M	source/blender/draw/engines/workbench/workbench_data.c

===================================================================

diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 5ec12aace28..67f53d4d952 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -1498,7 +1498,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
 	{
 		if (!DNA_struct_elem_find(fd->filesdna, "SceneDisplay", "float", "roughness")) {
 			for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
-				scene->display.roughness = 0.0f;
+				scene->display.roughness = 0.5f;
 			}
 			for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
 				for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_world_light_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_world_light_lib.glsl
index 6a64feb93de..7d1084c78b4 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_world_light_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_world_light_lib.glsl
@@ -14,9 +14,9 @@ vec3 get_camera_diffuse_light(WorldData world_data, vec3 N)
 	result = mix(result, world_data.diffuse_light_x_neg, clamp(-N.x, 0.0, 1.0));
 	result = mix(result, world_data.diffuse_light_z_pos, clamp( N.y, 0.0, 1.0));
 	result = mix(result, world_data.diffuse_light_z_neg, clamp(-N.y, 0.0, 1.0));
-	result = mix(result, world_data.diffuse_light_y_pos, clamp( N.z, 0.0, 1.0));
+	result = mix(result, world_data.diffuse_light_y_pos, pow(clamp( N.z, 0.0, 1.0), 2.0));
 	result = mix(result, world_data.diffuse_light_y_neg, clamp(-N.z, 0.0, 1.0));
-	return result.xyz;
+	return result.rgb;
 }
 
 /* N And I are in View Space. */
@@ -24,7 +24,7 @@ vec3 get_world_specular_light(WorldData world_data, vec3 N, vec3 I)
 {
 #ifdef V3D_SHADING_SPECULAR_HIGHLIGHT
 	vec3 reflection_vector = reflect(I, N);
-	vec3 specular_light = vec3(1.0);
+	vec3 specular_light = vec3(0.1);
 	/* Simple frontal specular highlights. */
 	float specular_influence = pow(max(0.0, dot(world_data.light_direction_vs.xyz, reflection_vector)), world_data.specular_sharpness);
 	vec3 specular_color = specular_light * specular_influence;
diff --git a/source/blender/draw/engines/workbench/workbench_data.c b/source/blender/draw/engines/workbench/workbench_data.c
index 03155b45a34..19bec9734e5 100644
--- a/source/blender/draw/engines/workbench/workbench_data.c
+++ b/source/blender/draw/engines/workbench/workbench_data.c
@@ -37,7 +37,7 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd)
 
 	copy_v3_v3(wd->object_outline_color, wpd->shading.object_outline_color);
 	wd->object_outline_color[3] = 1.0f;
-	wd->specular_sharpness = 100.0f - sqrtf(scene->display.roughness) * 100.0f;
+	wd->specular_sharpness = 100.0f - scene->display.roughness * 100.0f;
 
 	wpd->world_ubo = DRW_uniformbuffer_create(sizeof(WORKBENCH_UBO_World), &wpd->world_data);
 }



More information about the Bf-blender-cvs mailing list