На хабрахабре уже была статья «Применение шейдеров OpenGL в QML», в которой рассмотрены теория и примеры использования шейдеров в Qt Quick 1.0. Прошло больше года, фреймворк претерпел массу изменений: состоялся релиз Qt 5 и шейдеры теперь являются частью Qt Quick 2.0, а не вынесены в отдельный модуль и синтаксис их использования, естественно, также изменился. Сразу оговорюсь, что с GLSL я сам знаком весьма посредственно, зато имею опыт работы с QML, поэтому в этой статье хочу разобрать работу с фрагментным шейдером на примере компонента LedScreen, разработанного сообществом QUIt Coding (наверняка многие из вас видели его в демо-ролике на YouTube):

Читать полностью »
Рубрика «glsl» - 7
QtQuick 2.0 и шейдеры OpenGL
2013-01-23 в 12:45, admin, рубрики: Digia, glsl, OpenGL, QML, qt, Qt 5, qt quick, Qt Software, qt5, shaders, метки: Digia, glsl, OpenGL, QML, Qt, Qt 5, qt quick, qt software, qt5, shadersТрехмерные живые обои и OpenGL ES
2012-12-27 в 7:48, admin, рубрики: 3d графика, android, glsl, OpenGL, Анимация и 3D графика, Разработка под android, шейдеры, метки: 3d графика, android, glsl, OpenGL, шейдеры 
Доброго времени суток!
Я — участник маленькой компании (из двух человек), которая делает живые обои (live wallpapers) для Android-девайсов. В этой статье будет рассказано о развитии наших приложений от сравнительно простых до более сложных, примененных технологиях, трюках и решенных проблемах — все на конкретных примерах, в (почти) хронологическом порядке. Все наши обои — полностью трехмерные, написаны с использованием OpenGL ES.
В качестве бонуса — небольшая коллекция шейдеров — пользуйтесь ими как хотите. Предложения об их улучшении или исправлении будут только приветствоваться — мы не претендуем на звание гуру в этой области.
Больше технической информации можно узнать из нашего старого поста здесь: androidworks-kea.blogspot.com/2012/05/developers-notes-about-opengl-es.html
Читать полностью »
GLSL для самых маленьких — Графический конвейер
2012-12-26 в 15:11, admin, рубрики: glsl, Анимация и 3D графика, шейдеры, метки: glsl, шейдеры Этим постом я хочу начать цикл статей, посвященных изучению GLSL. Поскольку и сам являюсь начинающим в этой области, то постараюсь на примере своего изучения максимально понятно и доступно осветить нюансы, касающиеся этой темы. Для написания статей будет использован GLSL 1.2. И хотя многие его возможности уже устарели, но суть GLSL по прежнему остается неизменной. К тому же изучение устаревших основ OpenGL легче, нежели изучение новых версий, к освоению которых можно перейти, имея хорошие базовые знания. Что ж, надеюсь эта статья станет для вас небольшим введением в мир шейдеров, как ее написание стало таким введением для меня.
Читать полностью »
Покадровые анимации и шейдеры в iOS
2012-12-24 в 16:45, admin, рубрики: glsl, iOS, opengl es, анимация, разработка под iOS, метки: glsl, iOS, opengl es, анимацияПри разработке 2D игр часто сталкиваешься с покадровыми анимациями, и чем выше их качество, тем больше памяти они потребляют. С такой проблемой мы столкнулись при рендере анимации волос персонажа — художники рисуют пол сотни кадров замечательной графики с кучей мелких деталей и это очень быстро занимает всю доступную память. Собрали, замеряли, получилось 4 текструы по 16 мегабайт каждая. Детализация графики того стоит, но многовато как-то для одной анимации :)
Нужно это все упаковать… Поразмыслили и на помощь пришла старая идея с частичным обновлением картинки — вряд-ли при анимации будет изменянятся вся область. Значит нужно разбить картинку на девять частей, восемь взять из базовой и центральную подменить необходимой модификацией. Примерно так:

Зависимость прозрачности от ориентации поверхности
2012-12-10 в 18:29, admin, рубрики: glsl, OpenGL, qt, альфа-прозрачность, Анимация и 3D графика, метки: glsl, OpenGL, Qt, альфа-прозрачностьНа днях, вертя в руках пластиковый стаканчик, я обратил внимание на то, что видимая прозрачность пластика за висит от угла, под которым смотришь на поверхность — если смотреть перпендикулярно поверхности, то задний фон отчетливо виден, а если смотреть вдоль поверхности, то материал становится практически непрозрачным. Это явление меня заинтересовало, и я решил построить математическую модель.
Сказано — сделано. Под катом вывод формулы, код фрагментного шейдера и небольшое демо.
Читать полностью »
OpenGL шейдеры в современной интерпретациии
2012-11-15 в 8:23, admin, рубрики: glsl, OpenGL, shader, Анимация и 3D графика, Программирование, шейдер, метки: glsl, OpenGL, shader, шейдер 
Новые версии OpenGL не заставляют себя ждать и все время, появляется информация, что некоторые функции уже не рекомендуются, а то и вовсе удалены. А, что же приходит на смену традиционному, привычному функционалу?!
А ничего, все теперь можно с легкостью выполнить на шейдерах. Об этом и пойдет речь далее.
Читать полностью »
Создание 1k/4k intro для Linux, часть 2
2012-05-14 в 8:13, admin, рубрики: demoscene, distance fields, glsl, intro, OpenGL, raymarching, sdl, sizecoding, Демосцена, линукс, ненормальное программирование, метки: demoscene, distance fields, glsl, intro, OpenGL, raymarching, sdl, sizecoding, демосцена, линукс Не прошло и полгода! Как вы можете, поднапрягшись, вспомнить, в прошлый раз мы остановились на унынии и обещании нырнуть в ассемблер.
Ну что же, пацан сказал — пацан сделал. Из этого аляповатого нагромождения букв вы узнаете, как можно инициализировать OpenGL-контекст в GNU/Linux в какие-то 450 байт, высвободив ещё больше места для разворачивания таланта.
Под катом вы узнаете, как в один килобайт нарисовать что-нибудь такое:

Заинтересованные пристёгиваются и вдавливают педаль в пол, а глаз — в экран.
Читать полностью »
Nvidia для профессиональных 3D приложений
2012-04-23 в 10:47, admin, рубрики: CUDA, DirectX, firepro, firestream, GeForce, glsl, gpgpu, gpu, Nvidia, opencl, OpenGL, radeon, tesla, Анимация и 3D графика, видеокарта, высокая производительность, Железо, рендеринг, метки: CUDA, DirectX, firepro, firestream, GeForce, glsl, gpgpu, gpu, Nvidia, opencl, OpenGL, radeon, tesla, видеокарта, рендерингПол года назад я искал себе видеокарту, на которой я смог бы заниматься 3d моделированием, и рендерингом на GPU. В связи с появлением на рынке большого числе рендеров на CUDA мне не терпелось приобрести видеокарту с поддержкой CUDA, а именно Nvidia.
Как некоторые уже знают, Nvidia выставляет на продажу видеокарты нескольких моделей Geforce, Quadro, Tesla, ION, Tegra. В этом коротком сравнении упустим ION и Tegra, т.к. предназначены для мобильных устройств и слабые по производительности.
Нам нужна мощь!

