Ну вот пишут что работает в wine и для dxvk, и для d3d9 gallium. Сам не пробовал, так как не понимаю зачем мне это нужно. Никогда не возникало желания подкручивать яркость и играться с RGB.
Я правильно понимаю что это всё нужно для читерского ногебания в онлайн шутерах? И поскольку я в это всё не играю у меня и не возникало никогда такой потребности.
взял 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);
Либо я тупой либо что-то тут не так. Ок, как мне воспроизвести? Дампы это ок, но прям что-бы я запустил. Я сначала грешным делом просто browserleaks.com/webgl склонировал и локально запустил, но там нема такого сдампить.
Ну вот и всё. Я то блин думал сначала что ты что-то конкретное правишь в исходниках там. А оно вон чё. Запутал блин ))))
В целом затея странная конечно. Ну да ладно. В любом случае решейд надо делать на стороне конечного приложения в сорцах самих, вот так глобально эт такое себе. Хотяя.
ТОесть после компиляции шейдер получает id файл с текстовой копией имеет id бинарного того что уже в гпу вертексные данные уже загружены при MESA_SHADER_READ_PATH он находит id данных сопоставляет и если совпадают перезагружает, вернее компилирует файл и перезагружает в гпу, но эта цепочка вся настолько эмммм прикольная что мне кажется тут есть нюансы. Я вот их не знаю. Цвета (я скри с красной полоской приложил) менять можно, вершины только ломаются
Месе должно быть по сути на это насрать кеширует или нет ибо она знает про всё что её кормят у неё есть context + data id, шейдеры это тоже дынные которые выгружаются на карту. А приложение имеет просто id данных что вершин что шейдеров.