Comments 6
Круто! Пишите еще.
Когда увидел статью, ожидал увидеть там реализацию написания своего шейдера через плагин. Просто через постобработку делать целл-шейдинг на конкретных объектах нецелесообразно. Но все равно новичкам будет полезно :)
Кстати говоря, ограничение первого способа — отсутствие влияния теней, можно решить, отрендерив вручную каскады, вместо самого источника света. Ну и наложив в шейдере) Но это гемор, согласен)
И ещё… Я бы избегал использование if'ов. Есть риск нарваться на алиасинг.
В остальном спасибо за перевод!
Кстати говоря, ограничение первого способа — отсутствие влияния теней, можно решить, отрендерив вручную каскады, вместо самого источника света. Ну и наложив в шейдере) Но это гемор, согласен)
И ещё… Я бы избегал использование if'ов. Есть риск нарваться на алиасинг.
В остальном спасибо за перевод!
Надо заменить Clamp(0,1) на Saturate.
Как узнать производит ли UE самостоятельно такую оптимизацию при компиляции шейдера?
Как узнать производит ли UE самостоятельно такую оптимизацию при компиляции шейдера?
Посмотреть скомпилированный HLSL (Windows > HLSL). Но он не делает такой оптимизации, насколько я знаю. Saturate идет как отдельная нода.
yadi.sk/i/aBX9f9I93Stm6d Вот, кстати, и то, как он разворачивает Clamp.
При Saturate он ставит сам saturate() как и положено.
При Saturate он ставит сам saturate() как и положено.
Видеоурок по Cel Shading:
Sign up to leave a comment.
Туториал по Unreal Engine: Cel Shading