mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
26 lines
618 B
GLSL
26 lines
618 B
GLSL
// Based on: https://stackoverflow.com/questions/6017176/gllinestipple-deprecated-in-opengl-3-1
|
|
// Thanks rabbid76!
|
|
|
|
#version 140
|
|
|
|
flat in vec2 out_lineStartingPoint;
|
|
in vec2 out_lineCurrentProcessingPoint;
|
|
|
|
uniform vec4 u_color;
|
|
uniform uint u_pattern;
|
|
uniform vec2 u_viewport;
|
|
|
|
out vec4 o_color;
|
|
|
|
void main() {
|
|
vec2 dirvec = (out_lineCurrentProcessingPoint - out_lineStartingPoint) * u_viewport;
|
|
float dist = length(dirvec);
|
|
|
|
uint bit_in_pattern = uint(round(dist)) & 15U;
|
|
uint bit_mask = 1U << bit_in_pattern;
|
|
|
|
if ((u_pattern & bit_mask) == 0U)
|
|
discard;
|
|
|
|
o_color = u_color / 255.0;
|
|
} |