Как вычислить gl_FragCoord в glsl

Нет. Не все.

Вот слон большой задницы номер один в комнате с большинством инструментов ORM (особенно LINQ к SQL:

Вам гарантируют, то ЛЮБОЕ связанное с данными изменение потребует полного повторного развертывания Вашего приложения.

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

14
задан Laurel 25 May 2016 в 16:09
поделиться

3 ответа

gl_FragCoord - это экранные координаты, поэтому вам потребуется информация о размере экрана и тому подобное, чтобы создавать его на основе Position. Созданный вами fake_frag_coord будет соответствовать точке на экране в нормализованных координатах устройства, я думаю (от -1 до 1). Итак, если бы вы умножили размер экрана на половину в определенном измерении, а затем сложили этот размер, вы бы получили фактические пиксели экрана.

11
ответ дан 1 December 2019 в 15:22
поделиться

Проблема заключается в том, что gl_ModelViewProjectionMatrix * gl_Vertex, вычисляемая в шейдере, не всегда является тем, что дает конвейер фиксированных функций. Чтобы получить идентичные результаты, выполните fake_frag_coord = ftransform ().

Изменить:

А затем масштабируйте его в соответствии с размерами экрана.

0
ответ дан 1 December 2019 в 15:22
поделиться
varying vec2 fake_frag_coord;
//in vertex shader:

fake_frag_coord=(gl_ModelViewMatrix * gl_Vertex).xy
-2
ответ дан 1 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: