此函数可用于设置在 GameMaker 中使用着色器时,单个"采样器插槽"是否重复给定的纹理。如果 UV 坐标超出 0-1 范围,则将其设置为 true 将重复该纹理,而设置为 false 将意味着不重复该操作。这些函数的可能使用情形是在 3D 中重复纹理,但为了使其工作而不是从纹理页面的其余部分拉出图像,需要在精灵编辑器中将使用的精灵标记为"单独的纹理页面"。
注意 调用函数 gpu_set_texrepeat() 时设置的值将覆盖此设置。
gpu_set_texrepeat_ext(sampler_id, enable);
参数 | 类型 | 描述 |
---|---|---|
sampler_id | 着色器采样器控制柄 | 着色器中的采样器 ID。 |
enable | Boolean | 启用或禁用纹理过滤 (true/false) |
N/A
var s_tex = shader_get_sampler_index(shader_glass, "s_NoiseSampler");
if (gpu_get_texfilter_ext(s_tex))
{
gpu_set_texfilter_ext(s_tex, false);
}
else
{
gpu_set_texfilter_ext(s_tex, true);
}
上述代码检查特定采样器 ID (存储在局部变量中)的纹理过滤是打开还是关闭,并相应地进行切换。