Pull to refresh
  • by relevance
  • by date
  • by rating

Silverlight + Augmented reality + Shaders

Silverlight
Sandbox
Привет всем.

Я люблю работать с Silverlight, и вот недавно натолкнулся на Дополненную реальность с использованием Silverlight. Про неё и на Хабре уже писали, и в блогах довольно много написано, но я всё же немного повторюсь. Сама идея дополненной реальности интересна, но я хотел использовать её как-то необычно. И вот недавно руки дошли до изучения пиксельных шейдеров. Стало интересно попробовать соединить это вместе.

Если интересно, что из этого получилось, то Добро пожаловать под кат:
Читать дальше →
Total votes 52: ↑37 and ↓15 +22
Views 2.8K
Comments 14

XNA Draw или пишем систему частиц. Часть II: шейдеры

Game development *C# *
Tutorial
Привет всем разработчикам игр и просто людям, которые интересуются геймдевом.

Пришло время рассказать вам о пиксельных шейдерах и о том, как сделать post-proccesing. Это вторая часть статьи о графических методах в XNA, в прошлой статье — мы рассматривали методы Draw и Begin у spriteBatch. Для примера: улучшим нашу систему частиц добавлением пиксельного шейдера, который будет искажать пространство.
Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Views 16K
Comments 19

Рисуем воду на Direct3D. Часть 1. Архитектура графического конвейера и API

Working with 3D-graphics *
Sandbox
В этой статье, разделенной на несколько частей, я в общих чертах объясню архитектуру современных версий Direct3D(10-11), а также покажу, как с помощью этого API нарисовать вот такую вот сцену кораллового рифа, основным достоинством которой является простая в реализации, но красивая и относительно убедительно выглядящая вода:
image

Читать дальше →
Total votes 50: ↑42 and ↓8 +34
Views 11K
Comments 21

Разработка системы частиц на платформе DirectX 9. Часть II

Programming *Game development *
Tutorial
Этот пост является 2-ой и последней частью статьи о разработке системы частиц на DirectX 9. Если вы еще не читали первую часть, то рекомендую с ней ознакомиться.

В этой части статьи будет рассмотрено: работа со спрайтами, вершинные и пиксельные шейдеры, эффекты, пост-эффекты. В частности для реализации пост-эффекта — приём рендера в текстуру.
Читать дальше →
Total votes 48: ↑43 and ↓5 +38
Views 12K
Comments 40

Unbiased DirectX Рендеринг на GPU, CPU и в облаке

GPGPU *
Как создать рендерер, который бы работал даже на компьютере вашей бабушки? Изначально перед нами стояла немного другая задача — создать unbiased рендер для всех моделей GPU: NVidia, ATI, Intel.
Хотя идея такого рендера для всех видеокарт витала в воздухе давно, до качественной реализации, тем более на Direct3D, дело не доходило. В своей работе мы пришли к весьма дикой связке и дальше расскажем, что нас к ней привело и как она работает.

renderbro resource combined
Читать дальше →
Total votes 83: ↑79 and ↓4 +75
Views 43K
Comments 55

Трехмерные живые обои и OpenGL ES

Development for Android *
Sandbox


Доброго времени суток, Хабр!

Я — участник маленькой компании (из двух человек), которая делает живые обои (live wallpapers) для Android-девайсов. В этой статье будет рассказано о развитии наших приложений, от сравнительно простых до более сложных, примененных технологиях, трюках и решенных проблемах — все на конкретных примерах, в (почти) хронологическом порядке. Все наши обои — полностью трехмерные, написаны с использованием OpenGL ES.

В качестве бонуса — небольшая коллекция шейдеров, пользуйтесь ими как хотите. Предложения об их улучшении или исправлении будут только приветствоваться — мы не претендуем на звание гуру в этой области.
Итак, начнем!
Total votes 73: ↑68 and ↓5 +63
Views 42K
Comments 29

Имитируем ночное зрение человека в 3D-игре

Game development *Unity3D *
Tutorial
Сегодня мы будем заниматься постпроцессингом изображения в DirectX.

Как известно, в темноте зрение человека обеспечивается клетками-палочками сетчатки, высокая световая чувствительность которых достигается за счет потери цветочувствительности и остроты зрения (хотя палочек в сетчатке и больше, они распределены по гораздо большей площади, так что суммарное «разрешение» выходит меньше).

Все эти эффекты можно наблюдать самому, оторвавшись от компьютера и выйдя ночью на улицу.

В результате мы получим что-то вроде следующего (смотреть на весь экран!):

До: унылый польский шутер


После: финалист IGF и лауреат всех наград E3

Читать дальше →
Total votes 115: ↑106 and ↓9 +97
Views 57K
Comments 57

Динамическое освещение и неограниченное количество источников произвольной формы в 2D

Programming *Algorithms *
Продолжая тему велосипедостроения, хочу поделится тем, как я делал освещение в пиксель-арт игрушке.
Особенность этого метода заключается в том, что эти источники света не ограничиваются ни количеством ни формой.


Читать дальше →
Total votes 80: ↑76 and ↓4 +72
Views 38K
Comments 20

Forth и шейдеры

Abnormal programming *Image processing *Forth *
Sandbox
Tutorial
Речь у нас пойдёт о поэзии. Минимализм языка программирования Forth и красота образов демосцены подтолкнули программиста Брэда Нельсона к идее Forth Haiku. Подражая японским хайку, Брэд писал свои первые программы из трёх строк, состояли они из пяти, семи, и снова пяти слов. Но в отличии от традиционного японского жанра, поэзия на языке Forth порождала картины не в воображении читателя, а зримо, на экране компьютера. Эта затея могла бы остаться причудой одинокого фаната компьютерного ретро (Forth прочно ассоциируется со старыми добрыми семидесятыми), если бы Брэд не воплотил её на самой что ни на есть современной платформе (WebGL) и не сделал бы онлайн-редактор общедоступным.

Вот пример кода Forth Haiku и изображение, которое этот код создаёт: «Light Drop» by Brad Nelson.

: iii x y z*
Sin ; x 5 * x y
- iii exp y iii

Light Drop by BradN

Впереди нас ждут немало удивительных (в том числе и «живых») картин, но сперва — немного теории.
Читать дальше →
Total votes 88: ↑86 and ↓2 +84
Views 25K
Comments 44

Создание игры на ваших глазах — часть 2: Шейдеры для стилизации картинки под ЭЛТ/LCD

Game development *Image processing *Unity3D *
Tutorial
Поговорим на этот раз о технологии. В этой статье я расскажу и покажу, как в Unity создать шейдер для стилизации графики под старые ЭЛТ. Такой шейдер подойдет для пиксель-арта и для стилизации картинки под древнюю технику. Злоупотреблять им не стоит, но иногда использовать к месту — можно. (Специально уточню — я не предлагаю использовать такой эффект постоянно. Но, например, в заставках — он может прийтись к месту).



И сразу оговорюсь — я не владею глубинным пониманием шейдеров, а от читателя жду и того меньшего. Так что буду писать из расчета, что вы про шейдеры не знаете ничего, или почти ничего. И да, я попытаюсь вам пояснить самые базы работы шейдеров, так что если вы ничего о них не знаете — welcome!

Читать дальше →
Total votes 112: ↑103 and ↓9 +94
Views 73K
Comments 32

Шейдеры для маглов

Unity3D *
Tutorial

Предыстория


Вышла книга Ламмерса на русском, астрологи предсказывают…

На конференции DevGAMM я купил задорого книгу Кенни Ламмерса в которой впоследствии расписались: Симонов, Галёнкик и Придюк. Вальяжно за два вечера я-таки добил её до середины и решил: собрать всё то что там написано в начале, переварить, нарисовать картинок и написать статью.


Статья предназначена для совсем новичков которые с трудом код на C# из уроков копируют, по этому я не буду углубляться в теорию которая и так уже описана. За место этого мы будем решать практические задачи и узнаем что шейдеры нужны не только что бы: «Всё сверкало и блестело».

Читать дальше →
Total votes 41: ↑33 and ↓8 +25
Views 71K
Comments 9

Addon для генерации материалов Cycles Blender

Python *
Sandbox
Добрый день, уважаемые хабравчане. Некоторое время назад я сделала плагин «Shader Generator» – аддон, реализующий идею параметрического генерирования и редактирования шейдеров (материалов) встроенного рендера Cycles.


Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Views 31K
Comments 11

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 5 из 6

Programming *Game development *
Tutorial

Содержание основного курса




Улучшение кода






Official translation (with a bit of polishing) is available here.




Пришла пора веселья, давайте для начала смотреть размер текущего кода:
  • geometry.cpp+.h — 218 строк
  • model.cpp+.h — 139 строк
  • our_gl.cpp+.h — 102 строки
  • main.cpp — 66 строк


Итого 525 строк. Ровно то, что я обещал в самом начале курса. И заметьте, что отрисовкой мы занимаемся только в our_gl и main, а это всего 168 строк, и нигде мы не вызывали сторонних библиотек, вся отрисовка сделана нами с нуля!
Я напоминаю, что мой код нужен только для финального сравнения с вашим работающим кодом! По-хорошему, вы всё должны написать с нуля, если следуете этому циклу статей. Очень прошу, делайте самые безумные шейдеры и выкладывайте в комментарии картинки!!!


Читать дальше →
Total votes 103: ↑98 and ↓5 +93
Views 62K
Comments 37

Metaballs без шейдеров + физика жидкостей

Development of mobile applications *C# *
Как-то раз возник у меня диспут с хабраюзером ZimM по поводу безшейдерного 2D движка: я утверждал, что для простых 2D игр шейдеры не обязательны, почти все эффекты можно сделать спрайтами, его же позиция была обратной. Я не раз в уме возвращался к этому спору и придумывал задачи, не реализуемые на первый взгляд без шейдеров, и именно решение одной такой задачи и привело к созданию игры, где игрок управляет жидкостью наклоном телефона.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 19K
Comments 11

Карты морщин в ролике The Blacksmith

Plarium corporate blog Game development *Unity3D *
Translation
На этапе планирования ролика The Blacksmith мы никогда не рассматривали всерьез создание специального шейдера для кожи. Нам требовалось простое решение, которое позволило бы сделать мимику антагониста более реалистичной. Недолго думая, мы попробовали добавить в проект карты морщин на основе блендшейпов.

Мы решили, что для детализации мимики персонажа выгоднее всего будет просто добавить карты нормалей и карты затенений в стандартный шейдер. Кроме того, мы должны были найти способ ограничить влияние эмоций на соответствующие участки лица.


Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 15K
Comments 2

Создание The Blacksmith: подготовка сцен, шейдинг и освещение

Plarium corporate blog Development of mobile applications *Game development *Unity3D *
Translation
В предыдущих статьях из этой серии мы рассказывали о команде создателей ролика The Blacksmith, а также о его художественном оформлении. Теперь мы рассмотрим создание ролика с технической точки зрения и затронем аспекты подготовки сцен, шейдинга и освещения в Unity 5.


Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 14K
Comments 1

Как происходит рендеринг кадра в GTA V

ua-hosting.company corporate blog Website development *Game development *Image processing *
Translation
Серия игр Grand Theft Auto прошла долгий путь с момента своего первого релиза в 1997 году. Примерно 2 года назад Rockstar выпустила GTA V. Просто невероятный успех: за 24 часа игру купило 11 миллионов пользователей, побито 7 мировых рекордов подряд. Опробовав новинку на PS3, я был весьма впечатлен как общей картинкой, так и, собственно, техническими характеристиками игры.

Ничто так не портит впечатление от процесса, как экран загрузки, но в GTA V вы можете играть часами, преодолевая бескрайние сотни километров без перебоев. Учитывая передачу солидного потока информации и свойства PS3 (256 Mb оперативной памяти и видеокарта на 256 Mb), я и вовсе удивился, как меня не выбросило из игры на 20-ой минуте. Вот где чудеса техники.

В этой статье я расскажу о проведенном анализе кадра в версии для ПК в среде DirectX 11, которая съедает пару гигов как оперативки, так и графического процессора. Несмотря на то, что мой обзор идет со ссылкой на ПК, я уверен, что большинство пунктов применимо к PS4 и в определенной степени к PS3.

Анализ кадра


Итак, рассмотрим следующий кадр: Майкл на фоне любимого Rapid GT, на заднем плане прекрасный Лос-Сантос.

image

Осторожно! Трафик!
Читать дальше →
Total votes 164: ↑158 and ↓6 +152
Views 113K
Comments 65