From 30fbd376458702f7b006e45016139f9547df13e1 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Wed, 17 Jun 2015 18:08:04 +0200 Subject: [PATCH] Transmit normal to text rendering shader --- libraries/render-utils/src/sdf_text3D.slf | 11 ++++++++--- libraries/render-utils/src/sdf_text3D.slv | 6 ++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/libraries/render-utils/src/sdf_text3D.slf b/libraries/render-utils/src/sdf_text3D.slf index 07ca75237b..361f8454ab 100644 --- a/libraries/render-utils/src/sdf_text3D.slf +++ b/libraries/render-utils/src/sdf_text3D.slf @@ -14,8 +14,11 @@ uniform sampler2D Font; uniform bool Outline; uniform vec4 Color; -const float gamma = 2.6; -const float smoothing = 100.0; +// the interpolated normal +varying vec4 interpolatedNormal; + +const float gamma = 2.2; +const float smoothing = 64.0; const float interiorCutoff = 0.8; const float outlineExpansion = 0.2; @@ -43,5 +46,7 @@ void main() { } // final color - gl_FragColor = vec4(Color.rgb, Color.a * a); + gl_FragData[0] = vec4(Color.rgb, Color.a * a); + gl_FragData[1] = vec4(interpolatedNormal.xyz, 0.0) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); + gl_FragData[2] = vec4(0.0); } \ No newline at end of file diff --git a/libraries/render-utils/src/sdf_text3D.slv b/libraries/render-utils/src/sdf_text3D.slv index f7c35a257c..6838650e75 100644 --- a/libraries/render-utils/src/sdf_text3D.slv +++ b/libraries/render-utils/src/sdf_text3D.slv @@ -13,6 +13,9 @@ <$declareStandardTransform()$> +// the interpolated normal +varying vec4 interpolatedNormal; + void main() { gl_TexCoord[0] = gl_MultiTexCoord0; @@ -20,4 +23,7 @@ void main() { TransformCamera cam = getTransformCamera(); TransformObject obj = getTransformObject(); <$transformModelToClipPos(cam, obj, gl_Vertex, gl_Position)$> + <$transformModelToEyeDir(cam, obj, gl_Normal, interpolatedNormal.xyz)$> + + interpolatedNormal = vec4(normalize(interpolatedNormal.xyz), 0.0); } \ No newline at end of file