Публикации по теме 'shaders'


Как отображать контуры в WebGL
В этой статье описывается, как визуализировать контуры для сцены WebGL как пост-процесс, на примере реализации для ThreeJS и PlayCanvas . Есть несколько общих подходов, которые создают контуры только по границам, как показано слева от рисунка выше. Рисуем объекты дважды, так что задние грани составляют контур, описанный здесь . Пост-процесс с использованием буфера глубины, реализованный здесь в ThreeJS . Подобный постпроцесс реализован в PlayCanvas здесь . Отрисовка полных..

Дешевая водная каустика в UE4
Идея этого поста заключалась в том, чтобы интересно осветить WorldPositionBehindTranslucency и предоставить наглядный пример того, как использовать эту технику для рендеринга позади полупрозрачных объектов. Используя этот метод, он позволяет нам проецировать каустики ниже плоскости воды в мировом пространстве. В качестве бонуса, поскольку проекция находится ниже плоскости воды, физически на каустику будет влиять преломление потока воды. Сами каустики добавляют 49 инструкций и 1..

Изучение Unreal Engine 4: исправление вектора MaterialBillboard TBN
Сказка Я обнаружил, что MaterialBillboardComponent неправильно вычисляет векторы TBN при построении своего VertexBuffer. И это приводит к неправильному освещению для MaterialBillboardComponent. Так же, как показано выше. Как воспроизвести это? Вы можете разместить MaterialBillboard далеко от источника (0,0,0), например (6000, 0,0), тогда вы обнаружите, что освещение выглядит довольно странно. Поэтому я поставил рядом еще один статический меш (плоскость) и сравнил разницу...

Пример использования The Legend of IceCoon / Advanced webGL - Первая часть
В конце года мне понравилось создавать небольшую игру THREE.JS для Рождественских экспериментов этого года. Http://christmasexperiments.com/2016/20/the-legend-of-the-icecoon/ Рождественские эксперименты были инициированы Дэвидом Ронаи в 2012 году с целью проведения отличных экспериментов и выделения лучших веб-креативщиков, а также новичков. Я использовал множество передовых методов, которыми хотел бы поделиться со всеми. Чтобы все знали, это моя первая запись в блоге! Я..

Изучение Unreal Engine 4: реализация Cel-Shading с контуром с использованием пользовательской модели затенения в UE4.22 (2)
Предыдущая статья Это вторая часть этой серии; Предыдущая статья здесь . В прошлой статье мы закончили кодирование в cpp и шейдерах BasePass, так что теперь он может выводить некоторую информацию, которая нам нужна для освещения. В этой статье мы собираемся проделать основную работу по реализации cel-shading. И после прочтения я надеюсь, что это может быть полезно для вас, чтобы отследить код шейдера (хотя бы немного :)). Измените шейдеры: DeferredPass и освещение После..

Go и OpenGL: средство просмотра материалов GLSL
Это текущий проект, над которым я работаю некоторое время. Это программа просмотра шейдеров / материалов OpenGL. Я хотел создать проект песочницы OpenGL, и мне также было интересно попробовать язык программирования Go. Поэтому я решил попробовать убить сразу же, и написать приложение с нуля на Голанге. В приложении, вероятно, нет ни лучших абстракций OpenGL, ни самого чистого кода Go, но я попытаюсь объяснить, как оно настроено, в следующем посте. Полный исходный код и связанные..

Простой процедурный скайбокс с луной
Мы делаем игру и искали референсы. Эта работа Марка Киркпатрика показалась очень интересной. Я попытался воссоздать это в Unity, и вот что у нас получилось: Я использовал стандартный процедурный шейдер скайбокса и этот набор шейдеров ( https://github.com/keijiro/UnitySkyboxShaders ) в качестве справки, но сильно упростил его. Вот как это работает. Градиент У нас есть верхний и нижний цвета, и нам нужно смешать их вместе. Шейдеры Skybox интересны, есть набор вершин, которые..