ФлеймФорумПрограммирование

Общие вопросы по программированию графония. (241 стр)

Страницы: 1236 237 238 239 240 241
#3600
10:40, 31 мар 2026

Что делают в 2026 вместо буфера выбора?

#3601
15:29, 31 мар 2026

1 frag / 2 deaths
> Что делают в 2026 вместо буфера выбора?
зачем тебе что-то кроме буфера выбора?

#3602
15:43, 31 мар 2026

Чтобы был выбор :)

#3603
15:47, 31 мар 2026

ronniko
> Чтобы был выбор :)
ну можешь луч пустить, но для этого движок должен быть специфичным.

#3604
16:57, 31 мар 2026

randomizer, луч надежды?

#3605
17:03, 31 мар 2026

Лучи бобра :)

#3606
10:58, 3 апр 2026

1 frag / 2 deaths
Ваши предложения ?

#3607
0:29, 10 июня 2026

Здраститя

Такой фрагментный шоёдер работает на НВидии но Интел говорит что не знает dFdx/dFdy

#version 100
precision mediump float;

varying vec3 v_color;
varying vec3 v_pos;
varying vec3 v_initial_pos;

void main() {
    vec3 normal = normalize(cross(dFdy(v_pos), dFdx(v_pos)));

    float factor = max(0.0, min(1.0, (250.0 - v_pos.z) * 0.01));
    vec3 white = vec3(0.8, 0.8, 0.8);
    vec3 color = v_color;
    int odd_x = fract(v_initial_pos.x * 0.5) < 0.5 ? 1 : 0;
    int odd_y = fract(v_initial_pos.y * 0.5) < 0.5 ? 1 : 0;
    int odd_z = fract(v_initial_pos.z * 0.5) < 0.5 ? 1 : 0;
    int odd = odd_x + odd_y + odd_z;
    /*
    if (odd == 1 || odd == 3) {
        color.x = fract(color.x + 0.5);
        color.y = fract(color.y + 0.5);
        color.z = fract(color.z + 0.5);
    }*/
    color = color * (-normal.z);
    color = white + (color - white) * factor;
    gl_FragColor = vec4(color, 1.0);
}

но как только меняю версию на 130, так он работает на Интеле хотя всё равно криво считает дельты, ну да ладно, работает хоть как-то, но НВидия говорит что варуинги устарели и шойдер не годится

Так какую версию мне надо-то?

новый повод для радости sb3d

#3608
1:15, 10 июня 2026

1 frag / 2 deaths
> Так какую версию мне надо-то?

+ Показать
#3609
1:40, 10 июня 2026

1 frag / 2 deaths
Судя по гуглу эти функции появились в 1.1, а в 1.3 варинги устарели.
Каждый драйвер неправ по своему.

#3610
(Правка: 2:02) 1:58, 10 июня 2026

1 frag / 2 deaths
Да, можно трансляцией, например через angle - https://github.com/TheXTech/angle-shader-translator-library

Кстаааати, а попробуй брать деривативы от каждого компонента вектора в отдельности, типа - dFdx(v_pos.x), dFdx(v_pos.y), dFdx(v_pos.z)  Если не выйден, то см п.1 )

Страницы: 1236 237 238 239 240 241
ФлеймФорумПрограммирование