mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-13 06:50:40 +02:00
48 lines
1.1 KiB
Text
48 lines
1.1 KiB
Text
<@include gpu/Config.slh@>
|
|
<$VERSION_HEADER$>
|
|
// Generated on <$_SCRIBE_DATE$>
|
|
// grid.frag
|
|
// fragment shader
|
|
//
|
|
// 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@>
|
|
|
|
struct Grid {
|
|
vec4 period;
|
|
vec4 offset;
|
|
vec4 edge;
|
|
};
|
|
|
|
layout(binding=0) uniform gridBuffer {
|
|
Grid grid;
|
|
};
|
|
|
|
Grid getGrid() { return grid; }
|
|
|
|
layout(location=GPU_ATTR_TEXCOORD0) in vec2 varTexCoord0;
|
|
layout(location=GPU_ATTR_COLOR) in vec4 varColor;
|
|
|
|
layout(location=0) out vec4 outFragColor;
|
|
|
|
void main(void) {
|
|
Grid grid = getGrid();
|
|
|
|
float alpha;
|
|
if (grid.edge.z == 0.0) {
|
|
alpha = paintGrid(varTexCoord0, grid.offset.xy, grid.period.xy, grid.edge.xy);
|
|
} else {
|
|
alpha = paintGridMajorMinor(varTexCoord0, grid.offset, grid.period, grid.edge);
|
|
}
|
|
if (alpha == 0.0) {
|
|
discard;
|
|
}
|
|
|
|
outFragColor = vec4(varColor.xyz, varColor.w * alpha);
|
|
}
|