Proper & FXPulse
Слушай, ты никогда не думал о том, чтобы ужесточить требования к нашей документации по шейдерам? Боюсь, если мы будем гнаться только за производительностью, в итоге получим головную боль с поддержкой.
Ну да, потому что всем нам нравится разгребать последствия после идеального ливня. Просто убедись, что комментарии реально объясняют математику, а не просто "выглядит круто". Производительность – это важно, но головная боль с поддержкой – это совсем другой удар грома, который всех валит.
Отлично, договорились. Давай набросаем короткую спецификацию, где пропишем уравнения, а не только визуальную составляющую. Я добавлю раздел про крайние случаи, чтобы потом никто не гадал, почему шейдер глючит при пиках нагрузки. Так мы и производительность удержим, и в будущем с поддержкой не будет головной боли.
Отлично, я позабочусь о том, чтобы спецификация была такой же аккуратной, как у меня с файлами. Давайте добавим sanity check для каждой ветки, чтобы, когда видеокарта начнет сбоить, мы не будем винить шейдер, как будто он нам враг. Производительность останется на высоте, а поддержка… ну, не превратится в войну.
Отлично, вот именно такой подход нам и нужен. Я добавлю защитные условия для каждого преждевременного выхода из функции и обязательно включу в комментарии шаги вывода формул, а не только общую идею. Если GPU начнет барахлить, мы точно узнаем, какое предположение оказалось неверным и кого винить — желательно код, а не коллегу. Производительность — на высоте, а поддержка — не должна превращаться в войну.
Звучит, как надежная защита, только не забудь закомментировать точную битность и точность чисел с плавающей точкой для каждого блока – чтобы, когда видеокарта решит устроить истерику, мы виним математику, а не кофе. Производительность – огонь, а обслуживание превращается в музей.
Конечно, без проблем — я отмечу каждого охранника с точным указанием битовой глубины и точности. Если видеокарта начнёт капризничать, у нас будет чёткая цепочка расчётов, а не выяснение отношений за чашкой кофе. Производительность останется на высоте, а обслуживание превратится в формальность.
Точно. Как только графический процессор начнет визжать, мы спокойно войдем, укажем на неверное уравнение и скажем: "О, это было мое предположение о глубине битов". Никаких перекладываний вины, только чистый, отлаженный код.