Shader Set Uniform i 함수 설명
shader_set_uniform_i 함수는 셰이더 상수의 값을 설정하는 기능을 제공합니다. 이 함수를 사용하기 위해서는 먼저 shader_get_uniform 함수를 통해 상수의 "핸들"을 얻어야 하며, 올바른 정수 값을 전달하기 위해 상수의 타입을 알아야 합니다. 예를 들어, vec2 타입의 경우 두 개의 값을 전달해야 합니다.
매개변수 설명
| 매개변수 | 타입 | 설명 |
|---|---|---|
| handle | Shader Uniform Handle | 설정할 셰이더 상수의 핸들 |
| value1 ... value4 | Real | 셰이더 상수에 설정할 정수 값(또는 값들) |
반환값
- N/A (반환값 없음)
예제 코드
다음은 shader_set_uniform_i 함수를 사용하는 예제입니다:
shader_set(shader_Glass);
shader_params = shader_get_uniform(shader_glass, "u_vParams");
shader_set_uniform_i(shader_params, 0, 65, 255);
draw_self();
shader_reset();
위 코드는 u_vParams라는 셰이더 상수의 핸들을 가져온 후, 해당 상수를 주어진 정수 값으로 설정합니다.
활용 및 응용 예제
- 간단한 색상 설정
gml shader_set(shader_Color); shader_params = shader_get_uniform(shader_Color, "u_Color"); shader_set_uniform_i(shader_params, 255, 0, 0); // 빨간색 설정 draw_self(); shader_reset(); - 다양한 텍스처 좌표 설정
gml shader_set(shader_Texture); shader_params = shader_get_uniform(shader_Texture, "u_TexCoords"); shader_set_uniform_i(shader_params, 0, 1); // 텍스처 좌표 설정 draw_self(); shader_reset(); - 조명 강도 조절
gml shader_set(shader_Lighting); shader_params = shader_get_uniform(shader_Lighting, "u_LightIntensity"); shader_set_uniform_i(shader_params, 100); // 조명 강도 설정 draw_self(); shader_reset(); - 다중 배열 값 설정
gml shader_set(shader_Matrix); shader_params = shader_get_uniform(shader_Matrix, "u_Matrices"); shader_set_uniform_i(shader_params, 1, 0, 0, 0, 0, 1, 0, 0); // 행렬 값 설정 draw_self(); shader_reset();
이와 같이 shader_set_uniform_i 함수를 활용하여 다양한 셰이더 상수를 설정할 수 있습니다.