TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.64K subscribers
Post #2100 539
Где выполнять вычисления шейдера и как не переплачивать за точность

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

Часть вычислений можно выполнить для вершин, а результаты интерполировать по поверхности. Это дешевле, но на крупных треугольниках освещение может потерять детали: блик вычисляется лишь в углах и затем размазывается между ними. Расчёт для каждого фрагмента точнее, хотя требует больше работы GPU.

Интерактивные схемы графического конвейера показывают растеризацию, интерполяцию нормалей и разницу нагрузки. Они помогут решить, что переносить в вершины, а что оставлять для попиксельного расчёта.
  • ❤ 2
  • 👍 1
More from @make_game
  1. Sep 30, 2026Как разгрузить CPU в Unity при тысячах объектов Сначала профилируйте: скачки времени кадра…
  2. Sep 30, 2026Как собрать физический 2D-рэгдолл в Godot 4 Персонажа собирают из узлов RigidBody2D: отдел…
  3. Sep 29, 2026Как один раз объявить ресурсы шейдера для C++ и пяти графических API В движке SETech интер…
  4. Sep 29, 2026Как тетраэдральные оболочки разгружают BVH у анимированной растительности В демо AMD 25 ты…
  5. Sep 29, 2026Как найти причину пропавших столкновений в Godot 4 Если CharacterBody проходит сквозь мир,…
  6. Sep 28, 2026Как выбрать хитбокс для bullet hell и отладить столкновения Спрайт и область попадания не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →