Запустите вершинный шейдер для каждого фрагмента для transformfeedback
Если я правильно понимаю, вершинный шейдер работает только столько раз, сколько имеется атрибутов вершин. И затем фрагментный шейдер заполняет текстуру, бегущую один раз за фрагмент.
Т.е. если у меня есть четыре вершины для рисования изображения текстуры, вершинный шейдер будет работать только четыре раза, или шесть, чтобы нарисовать два треугольника, это не имеет значения.
Но перед запуском фрагментного шейдера скан-конвертация рассчитывает, сколько фрагментов необходимо. Скажем так, квадрат покрывает изображение размером 100x100, вычисляет => 10000 фрагментов.
Теперь у меня есть фрагментный шейдер, который вычисляет фрактал Джулии на основе положения каждого фрагмента. Я хочу перенести этот расчет в вершинный шейдер, чтобы воспользоваться обратной связью преобразования. Есть ли способ получить количество текселей или фрагов из программы? Или, может быть, установка двух вершинного шейдера?
1 ответ
Я нашел ответ, который довольно хорошо объясняет другой тип чтения из методов gl.
По сути, как предполагает derHass, рендеринг в текстуру - это "фрагментный шейдер", способ сделать обратную связь преобразования.