GPU 텍스처 반복 설정 함수
gpu_set_texrepeat_ext
함수는 GameMaker의 셰이더를 사용할 때 특정 샘플러 슬롯이 주어진 텍스처를 반복할지 여부를 설정하는 데 사용됩니다. 이 함수를 통해 UV 좌표가 0-1 범위를 벗어날 경우 텍스처를 반복할 수 있습니다.
함수 설명
- 설정이 true일 경우: UV 좌표가 0-1 범위를 벗어나면 텍스처가 반복됩니다.
- 설정이 false일 경우: 텍스처가 반복되지 않습니다.
이 함수는 3D에서 텍스처를 반복할 때 주로 사용되며, 텍스처 페이지의 나머지 이미지에서 이미지를 가져오지 않도록 하려면 스프라이트가 "Separate Texture Page"로 표시되어야 합니다.
주의사항
이 설정은 gpu_set_texrepeat()
함수를 호출할 때 설정된 값에 의해 덮어씌워질 수 있습니다.
문법
gpu_set_texrepeat_ext(sampler_id, enable);
매개변수
매개변수 이름 | 타입 | 설명 |
---|---|---|
sampler_id | Shader Sampler Handle | 셰이더에서 사용되는 샘플러 ID |
enable | Boolean | 텍스처 반복을 활성화(true) 또는 비활성화(false) |
반환값
- N/A
활용 예제
아래의 코드는 특정 샘플러 ID에 대해 텍스처 반복이 활성화되어 있는지 확인하고, 그에 따라 설정을 전환합니다.
var s_tex = shader_get_sampler_index(shader_glass, "s_NoiseSampler");
if (gpu_get_texrepeat_ext(s_tex)) {
gpu_set_texrepeat_ext(s_tex, false);
} else {
gpu_set_texrepeat_ext(s_tex, true);
}
추가 활용 예제
- 텍스처 반복 활성화
gpu_set_texrepeat_ext(sampler_id, true);
- 텍스처 반복 비활성화
gpu_set_texrepeat_ext(sampler_id, false);
- 셰이더와 함께 사용하기
var s_tex = shader_get_sampler_index(my_shader, "my_sampler");
gpu_set_texrepeat_ext(s_tex, true);
- 조건부 텍스처 반복 설정
if (some_condition) {
gpu_set_texrepeat_ext(s_tex, true);
} else {
gpu_set_texrepeat_ext(s_tex, false);
}
- 다양한 샘플러에 대한 반복 설정
gpu_set_texrepeat_ext(shader_get_sampler_index(shader1, "sampler1"), true);
gpu_set_texrepeat_ext(shader_get_sampler_index(shader2, "sampler2"), false);
이와 같은 방법으로 gpu_set_texrepeat_ext
함수를 활용하여 다양한 텍스처 반복 설정을 조정할 수 있습니다.