#version 120 /* Copyright (C) 2010-2017 Kristian Duske This file is part of TrenchBroom. TrenchBroom is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. TrenchBroom is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with TrenchBroom. If not, see . */ uniform bool RenderGrid; uniform vec4 GridColor; uniform float GridSize; uniform float GridAlpha; uniform float CameraZoom; uniform vec3 Normal; varying vec4 modelCoordinates; float grid(vec3 coords, vec3 normal, float gridSize, float minGridSize, float lineWidthFactor); void main() { if (RenderGrid && GridAlpha > 0.0) { float minGridSize = 5.0 / CameraZoom; float lineWidthFactor = 2.0 / CameraZoom; float gridValue = grid(modelCoordinates.xyz, Normal.xyz, GridSize, minGridSize, lineWidthFactor); gl_FragColor = vec4(GridColor.xyz, gridValue * GridAlpha); } }