Я знаком с шейдерами вершин и фрагментов, но все еще смущен тем, как фрагментарный шейдер определяет количество фрагментов из вывода вершинного шейдера.Как фрагментарный шейдер определяет количество фрагментов из вывода вершинного шейдера?
Если у меня есть 3 вершины, и я рисую примитив треугольника в GLSL, то вершинный шейдер будет выполняться три раза для каждой вершины, а затем фрагментарный шейдер будет работать много раз (в зависимости от количества фрагментов, один раз для каждого фрагмента).
Я хочу знать, как фрагмент шейдера определяет фрагменты? Использует ли это gl_Position? Если я не установлю gl_Position в моем вершинном шейдере, то фрагментарный шейдер все равно сможет генерировать фрагменты или нет?
Обязательно ли устанавливать gl_Position каждый раз в вершинном шейдере?
Значит каждый переменной я прохожу через мой вершинного шейдера будет интерполировать на основе на gl_Position? Например, если я передаю координаты текстуры, используя out/in ключевые слова от вершины до фрагмента шейдера, они также будут интерполированы для каждого frament? – ammar26
Да. Поскольку спецификатор интерполяции по умолчанию является «гладким», каждый входящий атрибут интерполируется с точки зрения перспективы. – warrenm