본문 바로가기

Shader/GLSL

GLSL - 그라데이션

 

#ifdef GL_ES
precision mediump float;
#endif

uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
//전처리

vec3 colorA = vec3(0.1, 0.2, 0.3);
vec3 colorB = vec3(1.000,0.5,0.3);
//색상 설정

void main() {
    vec2 st = gl_FragCoord.xy/u_resolution.xy;
    //화면 길이 및 비율 값을 담고 있는 변수인 st를 생성
    
    vec3 color = vec3(0.0);
	//기본 색상 설정
    
    vec3 pct = vec3(st.x);
	//pct 변수 생성
    //x축을 기준으로 색상을 변경시킬 예정이므로 st값의 x값만 추출하여 pct변수로 저장
    
    color = mix(colorA, colorB, pct);
    //colorA와 colorB를 pct값, 즉 x축 위치에 따라 생상이 변할 수 있도록 mix로 색상 섞기
    gl_FragColor = vec4(color,1.0);
    //최종 결과물 화면에 출력
}

최종 결과 이미지

'Shader > GLSL' 카테고리의 다른 글

GLSL 접근 제어자 ( in, out, inout )  (0) 2024.03.11
시작 - GLSL [1]  (0) 2024.01.19
lowp mediump highp  (0) 2024.01.18
쉐이더 기본 설정  (0) 2024.01.18
GLSL 시작하기  (0) 2024.01.17