)Поделитесь знаниями и опытом как не терять через чур производительность на шейдерах?
|
ну тут дохрена советов можно дать.
самое основное, что первое вспомнилось:
- выборки текстур значительно медленее арифметики.
- современные GPU скалярные, векторизация аля SSE не даст профита.
- следует избегать деления и квадратного корня по возможности (distance, normalize содержат корень).
- выборки с неизменёнными в PS текскоордами дешевле, чем с изменёнными (dependent read).
лучше наклепать материалы в 3ds max, а юньку не грузить шейдерами, иначе загнётся по производительности.
|
wtf?!
материалы это просто набор ресурсов для шейдера
|
в юнити (и много где) материал это указание шейдера и параметров к нему + стейтов рендера (в юнити стейты записываются внутри шейдера тоже)
по разному можно реализовать, но все известные мне реализации дешёвые
вспоминается 2 варианта:
- тупо рендеришь второй раз объект чуть расширенный по нормали, чёрного цвета и с флипанутыми фейсами (так ещё в блице развлекались).
- едж детект постпроцесс на основе экранной глубины