<iframe src="https://www.shadertoy.com/embed/3t23RD?gui=true&t=10&paused=true&muted=false" allowfullscreen="" width="640" height="360" frameborder="0">


삘 받아서 한번 작성해봄. 선분 굵기 조절 가능하고, 그라데이션도 가능. 스타트 지점과 끝 지점도 설정 가능.


굵기에 따라 영역 칠하는 거는 쉐이더 특성 상 CPU 방식의 코드 작성이 안되다보니까,

1. 왼쪽에서 레이 쏴서 영역 사이에 인터섹션을 구해서 안인가 밖인가를 판단하고

2. 안이라고 하면 삼각함수로 선분의 스케일치에 대한 [0, 1] 의 오프셋을 구한 뒤에

3. mix 로 그라데이션 믹스해서 해당 텍셀에 박힐 컬러 계산

으로 영역 칠했음.


ShaderToy 가 병x인건지 X, Y 축에 직교한 선분을 그으려고 하면 아티팩트가 발생되는 건 안 자랑.