mirror of
https://github.com/overte-org/overte.git
synced 2025-04-07 03:52:29 +02:00
32 lines
1.1 KiB
GLSL
32 lines
1.1 KiB
GLSL
#version 120
|
|
|
|
//
|
|
// metavoxel_cursor.frag
|
|
// fragment shader
|
|
//
|
|
// Created by Andrzej Kapolka on 10/10/14.
|
|
// Copyright 2014 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
|
|
//
|
|
|
|
// the inner radius of the outline, squared
|
|
const float SQUARED_OUTLINE_INNER_RADIUS = 0.81;
|
|
|
|
// the outer radius of the outline, squared
|
|
const float SQUARED_OUTLINE_OUTER_RADIUS = 1.0;
|
|
|
|
// the inner radius of the inset, squared
|
|
const float SQUARED_INSET_INNER_RADIUS = 0.855625;
|
|
|
|
// the outer radius of the inset, squared
|
|
const float SQUARED_INSET_OUTER_RADIUS = 0.950625;
|
|
|
|
void main(void) {
|
|
// use the distance to compute the ring color, then multiply it by the varying color
|
|
float squaredDistance = dot(gl_TexCoord[0].stp, gl_TexCoord[0].stp);
|
|
float alpha = step(SQUARED_OUTLINE_INNER_RADIUS, squaredDistance) * step(squaredDistance, SQUARED_OUTLINE_OUTER_RADIUS);
|
|
float white = step(SQUARED_INSET_INNER_RADIUS, squaredDistance) * step(squaredDistance, SQUARED_INSET_OUTER_RADIUS);
|
|
gl_FragColor = gl_Color * vec4(white, white, white, alpha);
|
|
}
|