27 lines
623 B
Scala
27 lines
623 B
Scala
$input v_view, v_bc
|
|
|
|
/*
|
|
* Copyright 2016 Dario Manesku. All rights reserved.
|
|
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
|
|
*/
|
|
|
|
#include "../common/common.sh"
|
|
#include "uniforms.sh"
|
|
|
|
void main()
|
|
{
|
|
vec3 color = u_wfColor;
|
|
float opacity = u_wfOpacity;
|
|
float thickness = u_wfThickness;
|
|
|
|
if (gl_FrontFacing) { opacity *= 0.5; }
|
|
|
|
vec3 fw = abs(dFdx(v_bc)) + abs(dFdy(v_bc));
|
|
vec3 val = smoothstep(vec3_splat(0.0), vec3_splat(fw*thickness), v_bc);
|
|
float edge = min(min(val.x, val.y), val.z); // Gets to 0.0 around the edges.
|
|
|
|
vec4 rgba = vec4(color, (1.0-edge)*opacity);
|
|
gl_FragColor = rgba;
|
|
}
|
|
|