webgcode

Форк
0
/
reconstruction_from_ma.frag 
30 строк · 870.0 Байт
1
// expected #define: int gridX, gridY
2
const vec2 gridSize = vec2(gridX, gridY);
3

4
uniform sampler2D modelHeight;
5
varying vec2 vUv;
6

7
 float myDist(vec2 p1, vec2 p2) {
8
    vec2 diff = p1 - p2;
9
    return dot(diff, diff);
10
}
11

12
void main() {
13
    for(int i = 0; i < gridX; i++)
14
        for(int j = 0; j < gridY; j++) {
15
            vec2 pos = vec2(float(i) + 0.5, float(j) + 0.5) / gridSize;
16
            float sqRadius = texture2D(modelHeight, pos).r;
17
            float radius = sqrt(sqRadius);
18
            radius -= 0.05;
19
            if(radius <= 0.0)
20
                continue;
21
            radius = max(radius, 0.01);
22
            sqRadius = radius * radius;
23
            float sqDist = myDist(pos, vUv);
24
            if (sqDist <= sqRadius && sqRadius > 0.0) {
25
                gl_FragColor = vec4(0.0, 1.0, 1.0, 1.0);
26
                return;
27
            }
28
        }
29
    discard;
30
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.