68 const float3x3 &input_transformation,
71 const Domain input_domain =
Domain(input.domain().size, input_transformation);
72 if (input_domain == domain) {
73 input.pass_through(output);
74 output.set_transformation(domain.transformation);
87 input_translate += std::numeric_limits<float>::epsilon() * 10e3f;
95 -
float2(domain.size) / 2.0f);
105 const bool use_bilinear =
ELEM(
118 input.bind_as_texture(shader,
"input_tx");
120 output.allocate_texture(domain);
121 output.bind_as_image(shader,
"domain_img");
125 input.unbind_as_texture();
126 output.unbind_as_image();
void GPU_texture_extend_mode_y(GPUTexture *texture, GPUSamplerExtendMode extend_mode)
void GPU_texture_extend_mode_x(GPUTexture *texture, GPUSamplerExtendMode extend_mode)
@ GPU_SAMPLER_EXTEND_MODE_REPEAT
@ GPU_SAMPLER_EXTEND_MODE_CLAMP_TO_BORDER
void GPU_texture_filter_mode(GPUTexture *texture, bool use_filter)
void realize_on_domain(Context &context, Result &input, Result &output, const Domain &domain, const float3x3 &input_transformation, const RealizationOptions &realization_options)