<@include gpu/Config.slh@> <$VERSION_HEADER$> // <$_SCRIBE_FILENAME$> // Generated on <$_SCRIBE_DATE$> // // Created by Zach Pomerantz on 2/16/2016. // Copyright 2016 High Fidelity, Inc. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // <@include gpu/ShaderConstants.h@> <@include gpu/Paint.slh@> <@if not HIFI_USE_FORWARD@> <@include DeferredBufferWrite.slh@> <@else@> layout(location=0) out vec4 _fragColor0; <@endif@> struct Grid { vec4 period; vec4 offset; vec4 edge; }; LAYOUT(binding=0) uniform gridBuffer { Grid grid; }; layout(location=GPU_ATTR_TEXCOORD0) in vec2 varTexCoord0; layout(location=GPU_ATTR_COLOR) in vec4 varColor; void main(void) { float gridLine = mix(paintGridMajorMinor(varTexCoord0, grid.offset, grid.period, grid.edge), paintGrid(varTexCoord0, grid.offset.xy, grid.period.xy, grid.edge.xy), float(grid.edge.z == 0.0)); if (gridLine <= 0.0) { discard; } <@if not HIFI_USE_FORWARD@> vec3 NORMAL = vec3(1.0, 0.0, 0.0); <@if not HIFI_USE_TRANSLUCENT@> packDeferredFragmentUnlit(NORMAL, 1.0, varColor.rgb); <@else@> packDeferredFragmentTranslucent(NORMAL, varColor.a, varColor.rgb, DEFAULT_ROUGHNESS); <@endif@> <@else@> _fragColor0 = varColor; <@endif@> }