В этом туториале мы воссоздадим эффект 3D-принтера, используемый в таких играх, как Astroneer и Planetary Annihilation. Это интересный эффект, показывающий процесс создания объекта. Несмотря на внешнюю простоту, в нём есть множество далеко не тривиальных сложностей.
Рубрика «шейдеры» - 7
Создание шейдерного эффекта 3D-принтера
2017-06-26 в 10:15, admin, рубрики: unity туториал, unity3d, программирование шейдеров, разработка игр, шейдерыРуководство начинающего программиста графических шейдеров
2017-03-21 в 11:17, admin, рубрики: gpgpu, WebGL, Блог компании Инфопульс Украина, обработка изображений, разработка игр, шейдерыУмение писать графические шейдеры открывает перед вами всю мощь современных GPU, которые сегодня уже содержат в себе тысячи ядер, способных выполнять ваш код быстро и параллельно. Программирование шейдеров требует несколько иного взгляда на некоторые вещи, но открывающийся потенциал стоит некоторых затрат времени на его изучение.
Практически каждая современная графическая сцена являет собой результат работы некоторого кода, написанного специально для GPU — от реалистичных эффектов освещения в новейших ААА-играх до 2D-эффектов и симуляции жидкости.
Сцена в Minecraft до и после применения нескольких шейдеров.
Цель этой инструкции
Программирование шейдеров иногда кажется загадочной черной магией. Тут и там можно встретить отдельные куски кода шейдеров, которые обещают вам невероятные эффекты и, возможно, вправду способны их обеспечить — но при этом совершенно не объясняют, что именно они делают и как добиваются столь впечатляющих результатов. Данная статья попробует закрыть этот пробел. Я сфокусируюсь на базовых вещах и терминах, касающихся написания и понимания шейдерного кода, так что впоследствии вы сами сможете менять код шейдеров, комбинировать их или писать свои собственные с нуля.
Читать полностью »
Добавление ColorKey в libGDX
2016-12-28 в 14:36, admin, рубрики: android, libgdx, игры, разработка игр, разработка мобильных приложений, Разработка под android, шейдерыПривет! В данной заметке я расскажу о добавлении colorkey в библиотеку libgdx (или любую другую, где есть шейдеры). Как известно, нативной поддержки «прозрачного цвета» в libgdx нет, поэтому приходится хранить полноцветное изображение в формате RGBA8888 (4 байта на пиксель), либо в усечённом формате RGBA4444 (2 байта на пиксель), который позволяет вдвое уменьшить использование памяти, но сильно ухудшает картинку. При создании 2D игр, зачастую, было бы достаточно всего одного бита прозрачности… Особенно на мобильных платформах… но его нет… Сделаем, чтобы был!
Создание материалов для Unity в Substance Designer
2016-10-31 в 7:14, admin, рубрики: PBS, Physically Based Shading, substance designer, unity3d, разработка игр, создание материалов, узлы, шейдеры
Ужасные мучения
Текстурирование и создание игровых материалов всегда были интересной… и мучительной работой одновременно. До перехода на Substance Designer я использовал для создания всех нужных карт Photoshop и xNormal. Приходилось много раз переключаться между двумя этими приложениями, и это надоедало. Теперь я избавился от этой проблемы.
Substance Designer (SD) — это программное обеспечение, позволяющее создавать материалы и текстуры «на лету». В нём используется удивительно простая система узлов. Я художник, и обычно меня очень пугала работа с узлами (и вообще всем, кроме кисти). Честно говоря, когда я впервые увидел SD, то слегка вздрогнул. К счастью, у авторов программы есть видео, демонстрирующие её возможности. Они дают такого мотивирующего «пинка», что вам приходится совершить «прыжок веры».
Читать полностью »
Создание шейдеров на основе Babylon.js и WebGL: теория и примеры
2016-09-27 в 10:38, admin, рубрики: 3d, babylon.js, javascript, microsoft, shaders, WebGL, Блог компании Plarium, перевод, Программирование, разработка игр, шейдерыВо время своего доклада на второй день конференции Build 2014 евангелисты Microsoft Стивен Гуггенхаймер и Джон Шевчук рассказали о реализации поддержки Babylon.js для Oculus Rift. Одним из ключевых пунктов их демонстрации было упоминание разработанной нами технологии имитации линз:
Я также присутствовал на докладе Фрэнка Оливье и Бена Констебля на тему использования графики в IE с применением Babylon.js.
Эти доклады напомнили мне об одном вопросе, который мне часто задают в отношении Babylon.js: «Что вы подразумеваете под шейдерами?» Я решил посвятить этому вопросу целую статью с целью объяснить принцип работы шейдеров и привести несколько примеров их основных типов. Читать полностью »
Преимущества использования уникальных шейдеров в компьютерных играх: личный опыт и наблюдения
2016-02-16 в 17:02, admin, рубрики: 3d анимация, game development, unity3d, игры, Работа с анимацией и 3D-графикой, шейдерыЭта статья подготовлена в содружестве с разработчиками и гейм-дизайнерами студии zGames.
Несмотря на обилие техник, позволяющих создавать привлекательные визуальные эффекты в компьютерных играх, шейдеры обладают некоторым рядом преимуществ по сравнению с такими распространенными средствами как партиклы или покадровая анимация.
Читать полностью »
Создаем 2D-порталы с помощью шейдеров
2016-01-04 в 11:52, admin, рубрики: development, game development, shaders, unity, unity3d, Блог компании Plarium, геймдев, игры, Работа с анимацией и 3D-графикой, разработка, шейдерыВ этой статье я расскажу о том, как достичь вот такого эффекта:
По сути, шейдер, о котором пойдет речь, работает как пост-эффект для камеры или встроенные фильтры blur и vignette в Unity. Он принимает входное изображение (точнее, RenderTexture) и выводит его с наложенными эффектами.
Читать полностью »
Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 5 из 6
2015-01-27 в 22:15, admin, рубрики: game development, shaders, Программирование, Работа с анимацией и 3D-графикой, шейдерыСодержание основного курса
- Статья 1: алгоритм Брезенхэма
- Статья 2: растеризация треугольника + отсечение задних граней
- Статья 3: Удаление невидимых поверхностей: z-буфер
- Статья 4: Необходимая геометрия: фестиваль матриц
- Статья 5: Пишем шейдеры под нашу библиотеку
- Статья 6: Чуть больше, чем просто шейдер: просчёт теней
Улучшение кода
- Статья 3.1: Настала пора рефакторинга
- красивый класс матриц
- как работает новый растеризатор
Пришла пора веселья, давайте для начала смотреть размер текущего кода:
- geometry.cpp+.h — 218 строк
- model.cpp+.h — 139 строк
- our_gl.cpp+.h — 102 строки
- main.cpp — 66 строк
Итого 525 строк. Ровно то, что я обещал в самом начале курса. И заметьте, что отрисовкой мы занимаемся только в our_gl и main, а это всего 168 строк, и нигде мы не вызывали сторонних библиотек, вся отрисовка сделана нами с нуля!
Я напоминаю, что мой код нужен только для финального сравнения с вашим работающим кодом! По-хорошему, вы всё должны написать с нуля, если следуете этому циклу статей. Очень прошу, делайте самые безумные шейдеры и выкладывайте в комментарии картинки!!!
Шейдер для жука
2014-10-09 в 3:45, admin, рубрики: beetle, c++, glsl, iridescence, OpenGL, shaders, Алгоритмы, Анимация и 3D графика, жук, Программирование, шейдеры
снизу фотографии настоящих жуков, сверху — моя реализация
Продолжение предыдущей статьи, на этот раз пишем шейдер.
Читать полностью »
Такой разный Blur
2014-10-07 в 1:47, admin, рубрики: DoF, glsl, OpenGL, shaders, Алгоритмы, Анимация и 3D графика, Программирование, шейдеры
Расскажу о различных реализациях эффекта размытия на GLSL.
Читать полностью »