| 12345678910111213141516171819202122232425262728293031323334353637 |
- /*
- * Copyright (C) 2020, Inria
- * GRAPHDECO research group, https://team.inria.fr/graphdeco
- * All rights reserved.
- *
- * This software is free for non-commercial, research and evaluation use
- * under the terms of the LICENSE.md file.
- *
- * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
- */
- #version 420
- uniform float scale;
- layout(binding = 0) uniform sampler2D coarse;
- layout(binding = 1) uniform sampler2D constraint;
- layout(location= 0) out vec4 out_color;
- in vec4 texcoord;
- void main(void) {
- // sample color from lower multigrid level by scaling texture coordinates
- vec4 color = texture(coarse,vec2(gl_FragCoord.xy/scale)/textureSize(coarse,0).xy,0);
- // sample Dirichlet constraint without texture filtering because pixel without
- // Dirichlet constraint are black and texture filtering may break this check
- vec4 cons = texelFetch(constraint,ivec2(gl_FragCoord),0);
- // write color of lower level to output except holes pixels in the constraint
- if (any(greaterThan(cons.rgb,vec3(0.01))))
- out_color = cons;
- else
- out_color = color;
- }
|