Читаем Журнал «Компьютерра» № 13 от 04 апреля 2006 года полностью

О фрагментах следует думать как о пре-пикселах. Окончательное значение цвета на экране формируется в результате композиции цвета фрагмента с цветом, уже находящимся в экранном буфере, только частным случаем которой является полное замещение. Фрагмент на этом этапе может быть вообще отвергнут, если не пройдет один из тестов, например тест глубины или величины альфа-канала.

Свое окончание конвейер находит в экранном буфере или текстуре, его заменяющей, при включении специального режима render-to-texture. Это единственное место в конвейере, которое доступно приложению для обратного считывания (read back).

Предыстория

Как же использовать графический конвейер не только для отображения трехмерных сцен? Еще относительно недавно нужно было обладать незаурядными знаниями всех операций, которые производители «зашили» в графический чип, чтобы заметить задачу, сводимую к рисованию некоторой сцены. В любом случае, способностей GPU хватало лишь на очень узкий круг вычислительных проблем[Не хочется задерживаться на этой теме, но чтобы не быть голословным, привожу одну из ссылок, где есть программа построения диаграммы Вороного], как правило, не слишком требовательных к точности результата. Но с наступлением нового тысячелетия ситуация начала мало-помалу меняться.

Прежде программирование графики можно было отнести к декларативному типу. Трехмерное приложение перечисляло все объекты в сцене, свойства их поверхностей, говорило, где расположены источники освещения, куда смотрит камера и т. п. В завершение следовала команда графической плате: «А теперь возьми и отобрази, что видит камера!» Эта ситуация была бы всем хороша в спокойные времена, но не когда производители игр отчаянно борются за внимание пользователей, которое, по их мнению, можно привлечь только новыми и желательно уникальными эффектами. Поэтому наметился постепенный переход к императивной парадигме программирования графики. То есть вместо выбора одного из предопределенных типов обработки данных производители игр получили возможность самостоятельно писать малюсенькие программки, непосредственно выполняемые графическим процессором. В первую очередь это затронуло блок обработки вершин, а затем и фрагментов (обведены оранжевым цветом на рис. 1). Поскольку главным образом под эффектами понималась более точная передача игры света и тени, то программки эти стали называть шейдерами (от англ. shade — тень), соответственно разделяя их на вершинные и пиксельные. Появились специализированные низкоуровневые ассемблеры.

Поначалу (2001 год) шейдеры были сильно ограничены в функциональности: например, пиксельный шейдер мог считывать цвет точки текстуры только четыре раза и выполнять над этими цветами не больше восьми арифметических операций[Хотя малым это стало казаться только сейчас, а на момент появления впечатляло].

Альтернативное применение

Переломным моментом можно считать самый конец 2002 года, когда в продаже появились платы семейства GeForce FX от nVidia и Radeon 9500 (и выше) от ATI. В них была заложена поддержка стандарта шейдеров Shader Model 2.0, который примечателен главным образом двумя аспектами.

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

Все промежуточные операции должны были выполняться с действительными числами высокой (в сравнении с предшествующими моделями GPU) точности. А производители сразу ввели поддержку текстур, в которых цвета хранятся также в виде действительных чисел.

Хотя позже появляются и другие модификации стандарта, включая последний на сегодняшний день Shader Model 3.0, шейдеры второй версии остаются по-прежнему актуальными, потому что платы, поддерживающие только их, присутствуют на рынке и сегодня. Особенности стандартов приведены в таблице 1.

Как только число инструкций в программе достигло десятков, пользоваться ассемблером стало не так удобно. Поэтому к тому же времени формируются специализированные C-подобные языки высокого уровня. Заслуживают упоминания как минимум три из них: cg от nVidia, HLSL из DirectX и GLSL из OpenGL. Все они очень похожи, но, к сожалению, отличаются лексическими и синтаксическими деталями. Их компиляторы к сегодняшнему дню стали довольно зрелыми, способны оптимизировать код, хотя небольшая вероятность наткнуться на неправильно скомпилированный шейдер еще остается. Отказываться от высокоуровневых языков сейчас приходится лишь в исключительных случаях, например, чтобы уложиться в лимит регистров или инструкций.

Достоинства графических чипов: высокая производительность, точность и достаточная простота программирования не могли не быть замеченными, в первую очередь университетами. В 2003 году наблюдается всплеск научных статей, посвященных алгоритмам и принципам расчетов общего назначения средствами графических плат (GPGPU[GPGPU — General-Purpose Computation on GPUs]). С 2004 года специально организуются научные конференции.

Перейти на страницу:

Все книги серии Компьютерра

Похожие книги

«Если», 2010 № 01
«Если», 2010 № 01

ПРОЗАЕвгений ГАРКУШЕВ. ЧУЖАЯ ЖИЗНЬ, ИЛИ VIS VITALISУж сколько раз твердили миру: техническое задание нужно формулировать точно.Кори ДОКТОРОУ. ВСЕ ПРОЙДЕТ…Этот монашеский орден образован бывшими сисадминами. Мышь не проскочит сквозь их сети, но вот «крот» завелся.Рик НОЙБЕ. ПОЛЕВЫЕ ИССЛЕДОВАНИЯЕдинственное, во что они верят, это удача. Для вполне безобидных жителей безымянной планеты их суеверия превыше здравого смысла, жизни, будущего.Альберт КОУДРИ. СЫЩИКПровинциальный чудак примеряет крылатку Шерлока Холмса.Евгений ЛУКИН. СЕКОНДХЕНДЖНе лучшие времена переживает баклужинский чародей. Теперь вот любимый ученик подался в политику.Тед КОСМАТКА. СЛОВА НА БУКВУ «Н»«Тупиковая ветвь» вновь рискует оказаться в тупике. Социальном.Юн Ха ЛИ. ЦИТРА БЕЗ СТРУНГармония звуков, красок, чисел — и все это для того, чтобы уничтожить противника.КОНКУРС «КОЛЛЕКЦИЯ ФАНТАЗИЙ»Представляем читателям новых авторов.ВИДЕОРЕЦЕНЗИИСтранная зависимость: фантастических фильмов снимают больше и больше, а смотреть, по сути, нечего.Аркадий ШУШПАНОВ. НЕКУДА БЕЖАТЬОни пугают, а нам не страшно!. А может, все-таки страшно? Вдруг майя были правы?Александр РОЙФЕ МУЛЬТТРАНЗИТ: КОПЕНГАГЕН — БОГОТАПродолжение обзора фантастической мультипликации «непрофильных» стран.Дмитрий БАЙКАЛОВ. В ГРЕЦИИ ВСЕ ЕСТЬ!…А также все есть и в Голливуде!РЕЦЕНЗИИВ книжный магазин лучше всего идти после ознакомления с блоком рецензий. Это сэкономит ваши время и средства.Андрей ЩЕРБАК-ЖУКОВ. КАК СТРАШНУЮ СКАЗКУ СДЕЛАЛИ БЫЛЬЮОднажды 25 известных писателей решили написать большой фантастический роман. Это было в далекие 20-е годы. Но отдельной книгой роман вышел только теперь.Андрей СКОРОБОГАТОВ. ПЛЕЕР ДЛЯ ФЭНАОдни из самых преданных поклонников фантастики — рок-музыканты. Разумеется, это не могло не проявиться в их творчестве.Вл. ГАКОВ КИМВАЛ. ЗВУЧАЩИЙПо количеству написанных книг этот писатель давно уже догнал таких рекордсменов, как Айзек Азимов и Жорж Сименон.КУРСОР«Невероятно, но факт» — так можно сказать про любую новость из мира фантастики.ПЕРСОНАЛИИБольшинство имен вам уже хорошо знакомо, но есть и свежая информация, которая вас определенно зантересует.

Альберт Коурди , Евгений Гаркушев , Евгений Лукин , Кори Доктороу , Рик Нойбе

Фантастика / Журналы, газеты / Научная Фантастика
«Если», 2003 № 09
«Если», 2003 № 09

Александр ЗОРИЧ. ТОПОРЫ И ЛОТОСЫВ каркас космической оперы плотно упакованы очень непростой вопрос, весьма неожиданное решение и совсем неоднозначные герои.Анджей ЗЕМЯНСКИЙ. АВТОБАН НАХ ПОЗНАНЬЕсли говорить о жанре, то это польский паропанк. Но очень польский…Дэвид НОРДЛИ, ЛЕД, ВОЙНА И ЯЙЦО ВСЕЛЕННОЙЧтобы понять тактику и стратегию инопланетян, необходимо учесть геофизику этого мира — кстати, вполне допустимую в рамках известных нам законов. Представьте себе планету, которая… Словом, кое-что в восприятии придется поменять местами.Жан-Пьер АНДРЕВОН. В АТАКУ!…или Бесконечная Война с точки зрения французского писателя.Дмитрий ВОЛОДИХИН. ТВЕРДЫНЯ РОЗБойцу на передовой положено самое лучшее. И фирма не мелочится!Карен ТРЕВИСС. КОЛОНИАЛЬНЫЙ ЛЕКАРЬХоть кому-то удалось остановить бойню… И знаете, что радует: самым обычным человеческим способом.Василий МИДЯНИН. NIGREDO и ALBEDOОна + Он = Зорич.ВИДЕОДРОМПризрак комикса бродит по Голливуду… Терминатор бежит от терминаторши, хотя надо бы наоборот… Знаменитый российский сценарист рассуждает о фантастике.Павел ЛАУДАНСКИЙ. ПОСЛЕ ЗАЙДЕЛЯJeszcze Polska ne zgingla!Глеб ЕЛИСЕЕВ. «ОБЛИК ОВЕЧИЙ, УМ ЧЕЛОВЕЧИЙ…»Влезть в «шкуру» инопланетянина непросто даже фантасту.ЭКСПЕРТИЗА ТЕМЫ…Фантасты же пытаются объяснить, почему.РЕЦЕНЗИИДаже во время летних отпусков рецензенты не расставались с книгами.КУРСОРЛетом в России конвентная жизнь замирает, а в странах братьев-славян бьет ключом.Сергей ПИТИРИМОВ. ФОРМА ЖИЗНИ? ФОРМА ОБЩЕНИЯ!«В связях, порочащих его, замечен не был», — готов заявить о себе каждый пятый участник опроса.АЛЬТЕРНАТИВНАЯ РЕАЛЬНОСТЬМал золотник, да дорог.Андрей СИНИЦЫН. ЧЕТВЕРОНОГИЕ СТРАДАНИЯВидно, давно критик не писал сочинений. Соскучился.Владислав ГОНЧАРОВ. НОВАЯ КАРТА РОССИИПетербург за пределами Российской Федерации?.. Опасная, между прочим, игра в нынешней политической реальности.ПЕРСОНАЛИИСплошной интернационал!

Глеб Анатольевич Елисеев , Евгений Викторович Харитонов , Журнал «Если» , Павел Лауданский , Юрий Николаевич Арабов

Фантастика / Проза / Прочее / Журналы, газеты / Газеты и журналы / Эссе
«Если», 2003 № 07
«Если», 2003 № 07

ФАНТАСТИКАЕжемесячный журналСодержание:Александр Тюрин. ЗАПАДНЯ, рассказВиталий Каплан. СВОБОДА ВЫБРАТЬ ПОЕЗД, повестьВИДЕОДРОМ*Тема--- Николай Панков. С МОНИТОРА НА ЭКРАН. И ОБРАТНО, статья*Рецензии*Хит сезона--- Дмитрий Байкалов. ВЫБОР ИЗБРАННОГО, статья*Премьера--- Дмитрий Байкалов. ГОД СИКВЕЛОВ, статьяВиталий Пищенко, Юрий Самусь. КОМПЬЮТЕРНАЯ ЛЕДИ, рассказЭдвард Лернер. ПРИСУТСТВИЕ РАЗУМА, повестьДэвид Брин. ПРОВЕРКА РЕАЛЬНОСТИ, рассказИэн Маклауд. NEVERMORE, рассказБрайан Плант. «ТОЛЬКО ЧЕЛОВЕК», рассказСалли Макбрайд. ПОТОП, рассказ«КРУГЛЫЙ СТОЛ»«ПРОШУ РАССМОТРЕТЬ…» Материал подготовила Светлана ПрокопчикВЕХИ*Вл. Гаков. СКОЛЬКО БУДЕТ ДВАЖДЫ ДВА? статьяКРУПНЫЙ ПЛАН*Владимир Борисов. ПОД МИКРОСКОПОМ, эссеРецензииКрупный планСергей Питиримов. БОГ ИЗ МАШИНЫ, статьяКир Булычёв. ПАДЧЕРИЦА ЭПОХИ (продолжение серии историко-литературных очерковЭКСПЕРТИЗА ТЕМЫОльга Елисеева, Святослав Логинов, Валентин Шахов.Статистика*Дмитрий Ватолин. МЕЖ ДВУХ МИРОВ, статьяКурсорПерсоналии Обложка Игоря Тарачкова к повести Эдварда Лернера «Присутствие разума». Иллюстрации: Е. Капустянский, В. Овчинников, А. Филиппов, И. Тарачков, О. Дунаева, А. Балдин, С. Голосов.

Виталий Иванович Пищенко , Владимир Гаков , Дмитрий Ватолин , Журнал «Если» , Иэн Маклауд , Салли Макбрайд

Фантастика / Журналы, газеты / Научная Фантастика