LINUX.ORG.RU

Ответ на: комментарий от steemandlinux

Ну вот пишут что работает в wine и для dxvk, и для d3d9 gallium. Сам не пробовал, так как не понимаю зачем мне это нужно. Никогда не возникало желания подкручивать яркость и играться с RGB.

Jameson ★★★★ ()
Ответ на: комментарий от steemandlinux

Так там же чуть выше есть fShaderTemplate

взял vec4(varyinTexCoordinate,0,1) * 0,5 и всё блёкло,

взял vec4(varyinTexCoordinate,0,1) * 2 и всё ярко

взял gl_FragColor=vec4(varyinTexCoordinate,0,1); gl_FragColor.r = 1 и всё «красно»

Ты лучше скажи что там не так и всё. Если не в курсе как оно работает то вот наглядно наверное

vec4 buff = vec4(varyinTexCoordinate,0,1);
float r = buff.r;
float g = buff.g;
float b = buff.b;
float a = buff.a;

//меняй как хочеш каналы и заноси в выход значния от 0 до 1.0
gl_FragColor = vec4(r,g,b,a);

LINUX-ORG-RU ★★ ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)
Ответ на: комментарий от steemandlinux

Чёт я не понял вообще. Ок ты правишь шейдер

quad_positions

Этого квада для отрисовки текстуры нет в https://browserleaks.com/webgl ни в https://github.com/fingerprintjs

Либо я тупой либо что-то тут не так. Ок, как мне воспроизвести? Дампы это ок, но прям что-бы я запустил. Я сначала грешным делом просто browserleaks.com/webgl склонировал и локально запустил, но там нема такого сдампить.

LINUX-ORG-RU ★★ ()
Ответ на: комментарий от steemandlinux

Ну вот и всё. Я то блин думал сначала что ты что-то конкретное правишь в исходниках там. А оно вон чё. Запутал блин ))))

В целом затея странная конечно. Ну да ладно. В любом случае решейд надо делать на стороне конечного приложения в сорцах самих, вот так глобально эт такое себе. Хотяя.

LINUX-ORG-RU ★★ ()
Ответ на: комментарий от steemandlinux

Во-вторых, если всковырнуть шейдеры браузера, то браузер рассыпается.

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

https://i.imgur.com/z9N7cmm.png

LINUX-ORG-RU ★★ ()
Ответ на: комментарий от steemandlinux

По сути как

браузер->контекст->sahader-text->shader-bin->set-shader-variables->run-shader -> mesa-result -> context
                                     |
                                     | <------------------------------|                      
                                     |                                |
                                mesa-shader-id             esa-shader-id-bin-replace
                                     |                                |
                                shader-replace-folder->shader-replace-id-file

Но видимо не так =)

ТОесть после компиляции шейдер получает id файл с текстовой копией имеет id бинарного того что уже в гпу вертексные данные уже загружены при MESA_SHADER_READ_PATH он находит id данных сопоставляет и если совпадают перезагружает, вернее компилирует файл и перезагружает в гпу, но эта цепочка вся настолько эмммм прикольная что мне кажется тут есть нюансы. Я вот их не знаю. Цвета (я скри с красной полоской приложил) менять можно, вершины только ломаются

LINUX-ORG-RU ★★ ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Ура! Надо было профиль заново создать!

#version 450
out vec4 webgl_FragColor;
in vec2 webgl_7a2bccec69522200;
void main(){
(webgl_FragColor = vec4(0.0, 0.0, 0.0, 0.0));
(webgl_FragColor = vec4(webgl_7a2bccec69522200, 0, 1));
}

version 450 Карл!

Хромой где-то в профиле шейдеры кеширует

steemandlinux ★★★★★ ()
Последнее исправление: steemandlinux (всего исправлений: 2)
Ответ на: комментарий от LINUX-ORG-RU
#version 450
in vec2 webgl_44361c7f48cefc3;
out vec2 webgl_7a2bccec69522200;
uniform vec2 webgl_8a3e5a9957841cf;
void main(){
(gl_Position = vec4(0.0, 0.0, 0.0, 0.0));
(webgl_7a2bccec69522200 = vec2(0.0, 0.0));
(webgl_7a2bccec69522200 = (webgl_44361c7f48cefc3 + webgl_8a3e5a9957841cf));
(gl_Position = vec4(webgl_44361c7f48cefc3, 0, 1));
}

А вот и вертексный

steemandlinux ★★★★★ ()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

Ну вот и разобрался. Только вот

version 450 Карл!

У меня макс это 330

Хромой где-то в профиле шейдеры кеширует

Месе должно быть по сути на это насрать кеширует или нет ибо она знает про всё что её кормят у неё есть context + data id, шейдеры это тоже дынные которые выгружаются на карту. А приложение имеет просто id данных что вершин что шейдеров.

Нюансы короче, вот их надо знать. Химичь =)

LINUX-ORG-RU ★★ ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)